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

时间:2012-05-27 13:49:43

标签: ajax jsp page-refresh

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

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

3 个答案:

答案 0 :(得分:3)

执行此类操作有两种最常用的方法

  • 汇总一个方法,该方法将发送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" },
]

答案 1 :(得分:1)

一旦执行了JSP,它生成的HTML代码就会被发送到浏览器,浏览器和JSP之间就没有连接了。如果要刷新页面的某些部分,则需要使用AJAX轮询服务器,或使用WebSockets维护页面和服务器之间的连接。

答案 2 :(得分:0)

要以静默方式刷新页面,请使用AJAX。以下是一些例子

<强> Example 1

<强> Example 2

<强> Google Search