【发布时间】:2014-03-21 14:59:51
【问题描述】:
我正在使用显示标签来显示我的结果集。 这是我实现它的方法。
<display:table name="w" pagesize="10" export="true" />
在这里我设置了pagesize =10,当我运行应用程序时,记录的分页大小为10,但是当我单击下一页查看下一组记录时,我得到一个空的结果集。
例如,如果有 12 条记录,其中 10 条显示在第一页,当我单击下一步查看最后一页时,我得到一个空白页。 为什么会这样??
w 包含我所有记录的列表:
request.setAttribute("w", resultrechparcritere);
【问题讨论】:
-
就个人而言,我不使用 display tag 以表格格式(也以分页方式)显示数据。虽然它有利于实现分页,但是当我们需要一些不同于它的标准的东西时,它会带来很多麻烦。这可能会导致不必要的时间浪费。此外,分页的概念应该直接在有问题的后端数据库上完成,这在从该数据库获取完整的行列表后不应该发生。
-
@user3333294:不要试图编辑我的答案来回答我,而是使用 cmets。如果现在您的问题是在每个操作调用上重新运行查询,这是另一个问题,然后应该打开另一个问题,因为这个问题是关于非工作分页的,我让它工作。您还应该通过在答案的左上角标记 V 来接受答案。并在这里参观一下:stackoverflow.com/tour
-
因为displaytag的分页是通过requests工作的,所以每次都会重新创建action。如果您想阻止对每个请求的数据库查询,请先将结果集放入会话中,然后再检索它。还阅读我以前的消息。不同的问题=新问题,请接受这个问题,因为它已经奏效了
-
最后我通过 sessionscope 解决了它
在动作类中:UserForm userForm = (UserForm) form; userForm.setResultrechparcritere(resultrechparcritere); return mapping.findForward(SUCCESS_RESEARCH);
-
您的工作 JSP 代码与我的完全一样(在最初的问题中,您从一个空表开始,在我回答之后您添加了
requestURI、keepStatus、uid)......奇怪的事情你做服务器端应该不影响答案正确的事实,然后考虑接受它......
标签: jsp struts2 struts jstl displaytag