1

我需要实现一个分页解决方案,使用Struts2进行客户端显示并使用休眠作为持久层。由于我的数据库有很多记录,我只需要在给定时间加载特定数量的记录(每页 6 条记录)并在结果表下显示用户分页数。当用户单击特定数字时,我需要从数据库中获取特定数据并在 struts UI 中更新它。我可以看到许多 需要整个数据列表来创建显示 UI 的示例。无论如何,我可以使用这种方法实现我的要求吗?如果没有,谁能告诉我一个实现这一点的示例方法?

4

3 回答 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 回答