一尘不染

数据更改时自动刷新jsp页面

jsp

我有一个JSP页面,其中显示了数组中包含的项目(只是一个非常简单的列表)。
在后台,数组可能会更改,即添加一个新项目或删除一个项目。

阵列更改时如何自动刷新页面?


阅读 346

收藏
2020-06-10

共1个答案

一尘不染

有两种最流行的方法来执行这种操作

  • 合并将发送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" },
    ]
2020-06-10