2016-08-24 10 views
0

に既存のセッション変数のためrequest.session.setAttributeを使うのですか私は、セッション変数を設定していますリストをリフレッシュします。バックエンドで最新のリストの内容を見ることができます。しかし、UIに私が使用しています:リストが変更されたがどのように我々はUI

List<String> cList = (List<String>)session.getAttribute("list"); 

それでも後、私は古いリストの内容は、ページに表示されているcontents.Still最新のリストを見ることはできませんよ。この問題を解決する方法についていくつかの提案が必要です。

var refreshThisDiv= "refreshThisDiv"; 
      var goUrl= "unametest/getUserNamesList; 
      var httpRequest=null; 
      var refreshContent = "null"; 
      httpRequest = XMLHTTPObject(); 
      httpRequest.open("POST", goUrl, true); 
      httpRequest.onreadystatechange = function() {ajaxFcuntion(refreshThisDiv,httpRequest); } ; 
      httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
      httpRequest.send(null); 

//ajaxFcuntion 
function ajaxFucntion(refreshThisDiv,httpRequest){ 

    if (httpRequest.readyState == 4) 
    { 
     if(httpRequest.status == 200) 
     { 
      results = httpRequest.responseText; 
if(results!=null){ 

      <% 

      List<String> list = (List<String>)request.getSession().getAttribute("list"); %> 
//display data from list 
} 

}

+0

特にUI(AJAX呼び出し、AJAX応答の処理方法)から、より多くのコードを表示してください。これらの2つの行は、何が起こっているのかを理解するのに十分ではありません。 –

+0

@JozefChocholacekこんにちは返信いただきありがとうございます。私はコードを追加しました。見てください。 – user3213490

答えて

1

実際に予想通り、2つの異なるコードを混合しています。 、ブラウザで後をJSPをサーバー上でページが要求されレンダリングされたとき(すなわち前に応答がブラウザに送信され)とJavascript - あなたは各コードが実行されると、どこを実現する必要がありますブラウザは既にの応答を生成したを受信します。 AJAX、JSP、およびサーブレットを一緒に使用する方法の詳細については、this question and answer carefulyを参照してください。

+0

さて、実装を変更して動作させる方法を教えてください。私は知らないと私はここで打たれています。いくつかの選択肢が必要です。 @Jozef Chocholacek – user3213490

+0

リンクされた答えを読んで、多くの例があります。 –