java - 分页点击页面索引始终仅加载第一页

标签 java hibernate servlets jakarta-ee pagination

我正在尝试使用 hibernate 对 servlet 内的表的行进行分页。但是一旦我单击页面的所需索引,它总是只给我表的第一组行。

我的servlet代码:

    int pageIndex = 0;
    int totalNumberOfRecords = 0;
    int numberOfRecordsPerPage = 5;

    String sPageIndex = request.getParameter("pageIndex");

    if (sPageIndex == null) {
        pageIndex = 1;
    } else {
        pageIndex = Integer.parseInt(sPageIndex);
    }
    int s = (pageIndex * numberOfRecordsPerPage) - numberOfRecordsPerPage;


List<ProductHasSize> phs = ses.createCriteria(ProductHasSize.class)
                    .setFirstResult(s)
                    .setMaxResults(numberOfRecordsPerPage)
                    .list();

            for (ProductHasSize pro : phs) {... some html content here...}
            List<ProductHasSize> phs1 = ses.createCriteria(ProductHasSize.class)
                .setProjection(Projections.rowCount()).list();
        Iterator i = phs1.iterator();
        if (i.hasNext()) {
            Object o = i.next();
            totalNumberOfRecords = Integer.parseInt(o.toString());
        }

        int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;
        if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
            noOfPages = noOfPages + 1;
        }
        for (int j = 1; j <= noOfPages; j++) {
            String myurl = "products.jsp?pageIndex=" + j;
            String active = j == pageIndex ? "active" : "";
            pagination = pagination + "<li class='" + active + "'><a href=" + myurl + ">" + j + "</a></li>";

        }

提前致谢。

最佳答案

尝试替换:

 if (i.hasNext()) {

与:

 while(i.hasNext()) {

并像这样编写 while 循环:

  while(i.hasNext()) {
        Object o = i.next();
        totalNumberOfRecords += Integer.parseInt(o.toString());

 int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;
    if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
        noOfPages = noOfPages + 1;
    }
  }

关于java - 分页点击页面索引始终仅加载第一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34784621/

相关文章:

java - java中如何从父类对象加载子对象

java - 此服务器上没有匹配的上下文

java - 请求调度程序从表单中删除所有单词,但首先

java - 在 Kafka 连接器中设置分区策略

java - 使用 setExtractWar(false) 在嵌入式 Jetty 中加载 war 会抛出 IllegalArgumentException

java - 当存在转义引号时,在引号外的逗号上拆分

mysql - Spring boot - 通过SQL插入数据后自增问题

java - Hibernate LAZY fetch 未初始化实例

java - J2EE 重定向到外部 URL

java - 为什么我的Integer.parseInt无法正常工作?