2012-05-27 57 views
0

我有一个显示数组中包含项目的JSP页面(只是一个非常简单的列表)。
在后台数组可能会更改,即添加一个新项目或删除一个。当数据发生变化时自动刷新jsp页面

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

回答

2

有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页面并调用它,例如,​​
  • 添加一个方法将输出包含需要填充列表
  • 在页面中的所有数据的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

JSP执行完毕后,它生成的HTML代码已发送到浏览器,浏览器和JSP之间再也没有连接。如果要刷新页面的某个部分,则需要使用AJAX轮询服务器,或者使用WebSockets维护页面与服务器之间的连接。

相关问题