【发布时间】:2021-08-17 06:59:08
【问题描述】:
我尝试使用 PrintWriter 在 Java 中进行分页。我用这个作为模型:https://www.javatpoint.com/pagination-in-servlet。 正如您在示例代码中看到的那样,为了处理 3 个页面和每个页面的 5 个元素而完成的代码。
out.print("<a href='ViewServlet?page=1'>1</a> ");
out.print("<a href='ViewServlet?page=2'>2</a> ");
out.print("<a href='ViewServlet?page=3'>3</a> ");
int total=5;
我认为复制所有代码没有任何意义,因为从数据库中读取是可行的。我只想在每个页面上有 1 个元素,并且找到与元素一样多的页面。
所以我用
String query = "select * from tabL where name like CONCAT( '%',?,'%') limit "
+ (start-1)+","+total;
1 表示开始,1 表示总.. ResulSet 的大小为 1,但如果我使用它
out.print("<a href='ViewServlet?page=1'>1</a> ");
out.print("<a href='ViewServlet?page=2'>2</a> ");
out.print("<a href='ViewServlet?page=3'>3</a> ");
它也打印其他元素。 所以请帮助如何才能找到与元素一样多的页面,并且每页有 1 个元素。
我是否需要无限制的选择并使用由此获得的结果集的大小,是否有更好的解决方案?
PS:有人请解释一下,如果我将限制设置为 1,1 ResulSet 的大小为 1,但它至少可以打印 3 个元素。
即使限制为 1,我至少需要知道检索到的元素的确切数量。
谢谢。
【问题讨论】:
-
@Abra 是 MySQL
标签: java sql select pagination printwriter