问题描述
- 关于JSP分页的问题,请大神帮忙,在线等
-
数据库里有13条记录,字段名为title.
部分代码如下:
pageSize=4; //每页显示4条记录
int recordCount=rs.getRow();
pageCount=(recordCount%pageSize==0)?(recordCount/pageSize):(recordCount/pageSize+1);
for(int i=1;i<=pageCount;i++){
int abs=(i-1)*pageSize+1;
rs.absolute(abs);
system.out.println(abs);
<!--中间代码太长省略-->
}假如数据库有12条记录,正好显示三页,控制台输出没有错误,abs打印了一下abs的结果为"1 5 9", 如果数据库中有13条记录,应该显示四页,for循环也应该执行四次,abs输出结果为"1 5 9 异常",最后一次循环应该是abs的值应该是13,而实际这个指针是不存在的,所以报了异常,请问这个问题该怎么解决?
解决方案
public static void main(String[] args) {
int pageSize = 4;
int pageRecords = 13;
int pageTotal = 0;
pageTotal = (pageRecords%pageSize==0)?(pageRecords/pageSize):(pageRecords/pageSize+1);
for(int i = 1;i<=pageTotal;i++){
int temp = (i-1)*pageSize+1;
System.out.println(temp);
}
}
我这个能输出13 没有rs.absolute() 。 只是不知道你的rs.absolute()方法是怎么实现的
解决方案二:
rs中的记录可能是从序号0开始的,而你的abs是从1开始的,到最后一条就出错了。abs不要加1试试
解决方案三:
for循环应该从0开始吧 数据库应该是0到12吧
解决方案四:
问题我已经解决了,代码中还有一个FOR循环,我在循环里加了一个条件,rs.isAfterLast(),现在指针工作正常.谢谢你们的热心回答.
时间: 2024-10-02 17:05:08