我在我的 Struts 基础应用程序中使用 displaytag 1.0。我有 500 万行可以通过分页 50 条记录来显示所有行数据的报告。渲染数据需要 5 分钟。我们可以减少这个吗?请建议如何在一分钟内完成。
问问题
1232 次
1 回答
0
它显然是将整个数据库拖入 Java 的内存,而不仅仅是感兴趣的数据(当前页面)。您需要在 DAO 级别引入基于请求的分页。
首先,在您的 DAO 类SELECT stuff FROM data LIMIT firstrow OFFSET rowcount
中根据所使用的数据库执行或类似操作。然后在您的 JSP 中借助 JSTLc:forEach
或 Struts自己创建一个 HTML 表logic:iterate
。在一个input type="hidden"
元素的后台保留一个或两个请求参数:要显示的第一行(firstrow)和最终一次显示的行数(rowcount)。最后提供一堆按钮,指示服务器端代码每次都增加/firstrow
减少rowcount
。只是做数学。
你可以在这里找到更详细的答案。
于 2010-04-08T13:34:17.547 回答