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

Struts2&;jquery-自定义分页-如何在不再次点击数据库的情况下转到第2页,struts2,Struts2,提前感谢您的任何意见。我在这个应用程序中使用struts2和jquery 我尝试使用displaytag进行分页,但我的表有图像,并且没有办法使displaytag与图像一起工作 现在我有了自定义的编码分页,它使用了,目前为止效果很好,只是我不知道如何让它转到另一个页面 基本上,在中,我只想更改start属性,然后刷新我的JSP。我的代码使用给定的页码正确计算start属性 我的s:子集标记如下所示 <s:subset source="pageableList.pagedList" cou

提前感谢您的任何意见。我在这个应用程序中使用struts2和jquery

我尝试使用displaytag进行分页,但我的表有图像,并且没有办法使displaytag与图像一起工作

现在我有了自定义的编码分页,它使用了
,目前为止效果很好,只是我不知道如何让它转到另一个页面

基本上,在
中,我只想更改start属性,然后刷新我的JSP。我的代码使用给定的页码正确计算start属性

我的s:子集标记如下所示

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

我想我想用
来显示我的可点击页码,但我遇到了麻烦

我在一个列表中有我的页码(搜索完成后,我会在我的action类中对其进行评估),然后在我的JSP中,我需要显示可点击的页码,我在列表中迭代,显示页码,如下所示-

<s:iterator value="pageNumList" > | <a href='#'> <s:property/> </a> </s:iterator>
|
我想我需要将pagenumber的clicked值传递给action类,然后因为搜索结果在action类的列表中,所以不需要再次访问数据库,只需使用start属性的新值显示结果页面

你知道我该怎么做吗?我一直在考虑在
中使用Decider属性,但也许有更简单的方法

再次感谢您的任何意见

问候,,
veeCan

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

你对两次点击db的反感是什么?嗯,我基本上是想把它从我的results bean中去掉,它在action类中,因为它已经填充了所有的行。我想我可以从数据库中提取所需的行数。。这是个好主意吗?我的意思是,太多的数据库点击?这完全取决于你的应用程序。计时,如果它不符合要求,您需要做一些事情。但另一方面,让您的内存中充满用户可能永远不会显示的图像可能不太好,但这取决于您的应用程序,如果只有少数图像,并且您拥有它们可以在内存中生存的资源。感谢四元数的输入。感谢Kelly的输入。我正在使用iBatis,所以我现在正在考虑使用它进行分页;是的,在内存中存储一个巨大的列表不是一个好主意;我想我在想我可以逃脱,因为它是一个很小的应用:)但你永远不知道。再次感谢。