0

私は、java-beans、jsp、およびサーブレットを使用している構築プロジェクトです。少し変更されたhtmlでリクエストが行われた場所から同じページでクライアントにレスポンスを送信する必要があります。しかし、私(サーバー)がリクエストをjspページに送信すると、フォームのコントロールが元の値にリセットされます。しかし、リクエストが行われた後にユーザーの入力をオーバーライドしたくありません。これを実現する 1 つの方法は、要求が行われたときにフォーム内の各コントロールのプロパティの値を取得し、応答中に再度設定することです。実際、私のフォームには多数のコントロールがあり、それぞれの値を取得するのは効率的ではないようです。

クライアントに応答している間、jsp ファイル内のフォームを変更しないようにする他の方法はありますか。

4

3 に答える 3

0

求めているものに ajax を使用するか、フォームの送信時、セッション中、またはどこかでデータを保存し、応答中にそれらを元に戻す必要があります。それとは別に、ページのリロード後もフォーム データを保持できる方法は他にないと思います。

ありがとうチャクリ

于 2012-11-20T06:14:05.983 に答える
0

iframe を使用しないのはなぜですか?そのため、同じページに対してリクエストが行われたときにページ全体を更新する必要はありません。

フォームのアクションを同じページにする代わりに、リンクにパラメーターを設定する JavaScript 関数を呼び出してから、

var f = document.getElementById('iframe');
f.src = 'newlink';
f.contentWindow.location.reload(true);

これにより、iframe に最新のコンテンツが取り込まれました

于 2012-11-20T05:46:52.817 に答える
0
function openOffenderInfo(i)
{
  $.ajax({
          url:'../loginServlet',
      type: 'POST',
      success: function(data) 
     {
        alert("reset your div values in this block");
            .... for example .....
            documnet.getElementById('reloading Div').innerHTML=data;
     },
    error: function(data) 
    {
       alert("error");
    }
    });
}

URL : c=呼び出したいサーブレットの名前 このサーブレットはデータを計算し、div でリセットしたい新しいデータを提供します

success : これは、ajax 呼び出しが正常に行われた場合に実行される関数であるため、この関数内でリロード部分の値を設定できます。

これがあなたの目的に役立つことを願っています

于 2012-11-20T06:41:23.300 に答える