在Struts2中自动刷新页面/ div

时间:2013-12-04 08:36:49

标签: javascript jquery struts2

我有一个Struts2 Web应用程序,其中我的主页在从Java类获取的表中显示数据。反过来,Java类从我的数据库中获取数据。现在,如果在加载页面后将新记录输入数据库,我必须手动刷新页面以在表中查看它们。有什么办法可以让page / div自动刷新吗?

这是我的表格代码

<display:table id="reqtablenew" name="requestlist" requestURI="" pagesize="6" class = "newreqtable">

    <display:column title="Select" >
    <input type="radio" name="reqradio" />
    </display:column>                
    <display:column title="ID" property="requestid"></display:column>
    <display:column title="Requestor" property="requestor"></display:column>
    <display:column  title="Approver" property="approver"></display:column>
    <display:column  title="Status" property="status"></display:column>
    <display:column  title="Product" property="product"></display:column>
    <display:column  title="Version" property="version"></display:column>
    <display:column  title="Source Path" property="source"></display:column>
    <display:column  title="Destination Path" property="destination"></display:column>

</display:table>

代码简介

requestlist - Java类中的ArrayList,用于存储数据库中的对象 properties:ArrayList对象的单个成员

我没有使用Session。任何关于如何完成这项任务的想法都会非常有帮助。我在我的应用程序的其余部分使用了Ajax,但我无法弄清楚如何在这里使用它。

1 个答案:

答案 0 :(得分:1)

创建一个只返回此表的操作。

定期对此动作进行ajax调用&amp;得到回应&amp;嵌入你的DOM。

如果你在应用程序的其他部分使用了ajax,它就是一样的。

<强>动作

class MyAction{
public String execute(){
//create all lists required for table
return SUCCESS;
}
}

<强> struts.xml中

<action name="tableaction" class="actions.MyAction">
<result>/table.jsp</result>
</action>

<强> Table.jsp

//the display tag code

Javascript代码:

function ajaxCall(){
      $.ajax({
          url:"tableaction",
          success:function(data){
          $("targetdiv").html(data);
          }
      });
}
setInterval(ajaxCall(),3000);

以上代码只是一个示例UNTESTED代码,用于说明如何实现它。