Struts2& jquery - 自定义分页 - 如何在不再次访问数据库的情况下转到第2页

时间:2011-01-25 15:31:22

标签: struts2

提前感谢任何输入。我在这个应用程序中使用struts2和jquery。

我尝试使用displaytag进行分页,但是我的表有图像,而且我无法使displaytag与图像一起使用。

所以现在我有自定义编码分页使用<s:subset>到目前为止工作得很好,除了我不知道如何让它去另一个页面。

基本上在<s:subset>我只想更改start属性然后刷新我的JSP。我的代码使用给定的页码正确评估start属性。

我的s:子集标签如下所示,

<s:subset source="pageableList.pagedList" count="pageableList.pageSize" start="pageableList.start"  > 
            <s:iterator> 

我想我想使用<s:url>来显示我的可点击页码,但我遇到了麻烦。

我的页码在列表中(我在搜索完成后立即在动作类中评估),然后在我需要显示可点击页码的JSP中,我遍历列表,显示页码如下 -

<s:iterator value="pageNumList" > | <a href='#'> <s:property/> </a> </s:iterator>

我想我需要将点击的页码值传递给动作类,然后由于搜索结果位于动作类的列表中,而不再次访问数据库,只需显示结果页面的新值start属性。

我有什么想法可以做到这一点?我一直在考虑使用<s:subset>的Decider属性,但也许有一种更简单的方法?

再次感谢您的任何意见。

此致 veeCan

1 个答案:

答案 0 :(得分:0)

如果您不想再次访问数据库,请在Action类的RAM中缓存初始查询的结果(在某处引用静态缓存)。此外,您不必使用全部或全部缓存方法 - 您可以缓存前N个页面,然后当您接近缓存结束时,获取其余页面。如果你做得对,你可以保持最小的RAM占用空间,但保留一个利用用户思考时间(取决于你的应用程序)的快速用户体验。