gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 07:40:20 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
文章推荐: java - 如果 Gradle 中的字母全部大写,无法创建工作 jar 文件?
文章推荐: Javascript反射,用字符串调用方法
文章推荐: javascript - 将具有特定类的文本添加到下拉列表