我需要实现一个分页解决方案,使用Struts2进行客户端显示并使用休眠作为持久层。由于我的数据库有很多记录,我只需要在给定时间加载特定数量的记录(每页 6 条记录)并在结果表下显示用户分页数。当用户单击特定数字时,我需要从数据库中获取特定数据并在 struts UI 中更新它。我可以看到许多 需要整个数据列表来创建显示 UI 的示例。无论如何,我可以使用这种方法实现我的要求吗?如果没有,谁能告诉我一个实现这一点的示例方法?
问问题
1273 次
3 回答
2
该问题可以通过在 displaytag 表中添加以下属性来解决。
partialList="true"
size="resultSize"
. 这里的resultSize是你在动作类中分配结果的总行数的变量。更多信息可以在这里找到
于 2013-01-02T18:26:51.517 回答
1
如果您一次只想获取 6 个结果,请使用:
Query query = session.createQuery("from EntityName");
query.setMaxResults(6);
此外,对于 UI,您可以使用displaytag。它具有内置的分页功能。此外,如果您设置 pagesize="6" 并设置 partialList="true",它一次只会获取 6 个结果。我想,也没有必要使用 setMaxResults() 方法。
希望能帮助到你 :)
于 2013-01-02T15:36:22.133 回答
0
使用 Hibernate,您可以指定类似
if (offset >= 0)
{
query.setFirstResult(offset);
}
if (size > 0)
{
query.setMaxResults(size);
}
因此,根据页码单击,您可以从数据库中获取那么多记录。
于 2013-01-02T14:10:22.513 回答