数据变化时自动刷新jsp页面
Posted
技术标签:
【中文标题】数据变化时自动刷新jsp页面【英文标题】:auto refresh jsp page when data changes 【发布时间】:2012-06-02 05:14:42 【问题描述】:我有一个 JSP 页面,它显示包含在数组中的项目(只是一个非常简单的列表)。 在后台,数组可能会发生变化,即添加一个新项目或删除一个。
如何在数组发生变化时自动刷新页面?
【问题讨论】:
【参考方案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" ,
]
【讨论】:
【参考方案2】:使用 AJAX 静默刷新页面。下面是一些例子
Example 1
Example 2
Google Search
【讨论】:
【参考方案3】:一旦 JSP 被执行,它生成的 HTML 代码就被发送到浏览器,浏览器和 JSP 之间不再有任何联系。如果要刷新页面的某些部分,则需要使用 AJAX 轮询服务器,或者使用 WebSockets 来保持页面与服务器之间的连接。
【讨论】:
以上是关于数据变化时自动刷新jsp页面的主要内容,如果未能解决你的问题,请参考以下文章
JAVA-JSP内置对象之response对象实现页面自动刷新