1

配列に含まれるアイテムを表示するJSPページがあります(非常に単純なリストです)。
バックグラウンドで、配列が変更される可能性があります。つまり、新しいアイテムを追加したり、アイテムを削除したりします。

配列が変更されたときにページを自動更新するにはどうすればよいですか?

4

3 に答える 3

3

このような操作を実行するために最も一般的な2つの方法があります

  • ページを更新するかどうかを確認するために1または0を送信するメソッドをプールします
  • そのデータ配列を要求し続け、JavaScriptを介してデータを入力します

オプション1

  • ページを作成し.jspて、たとえば、updateList.jsp
  • 次のように、入力して1または0を出力するデータがまだあるかどうかを確認する単一のメソッドを追加します。out.println(1)
  • あなたのページで、そしてjQueryを使って物事を単純化する
 $.get("updateList.jsp", function(data) {
    if(data !== null && data.length > 0 && data === 1) {
        // refresh this page
        document.location = document.location.href;
    }
 });

オプション2

  • ページを作成し.jspて、たとえば、data.jsp
  • リストに入力するために必要なすべてのデータを含むJSON文字列を出力する単一のメソッドを追加します
  • あなたのページで、そしてjQueryとJsRenderを使って物事を単純化する
 $.get("updateList.jsp", function(data) {
    if(data !== null && data.length > 0) {
        $("#my-list").html(
            $("#my-template").render(data);
        );
    }
 });

HTMLには、次のものが含まれます。

<ul id="my-list"></ul>

<script id="my-template" type="text/x-jsrender">
    {{for items}}
      <li>{{:name}}</li>
    {{/for}}
</script>

JSONが次のようになると仮定します。

item: [
    { name: "Name A" },
    { name: "Name B" },
    { name: "Name C" },
]
于 2012-05-27T14:05:26.240 に答える
1

JSPが実行されると、JSPが生成したHTMLコードがブラウザに送信され、ブラウザとJSPの間に接続がなくなります。ページの一部を更新する場合は、AJAXを使用してサーバーをポーリングするか、WebSocketを使用してページとサーバー間の接続を維持する必要があります。

于 2012-05-27T13:53:50.243 に答える
0

ページをサイレントに更新するには、AJAXを使用します。以下はいくつかの例です

例1

例2

Google検索

于 2012-05-27T13:58:25.540 に答える