java数字分页代码_JAVA分页代码

从博主henry8088那里学习JAVA分页代码实例,感觉不错,把他的代码改成适合自己项目的代码,做个记录留作以后查阅之用。

0818b9ca8b590ca3270a3433284dd417.png

首先PageUtil 类没有做修改,直接粘贴复制的。

package com.hjf.web.view;

public class PageUtil ...{

private int pageSize;//每页显示的条数

private int recordCount;//总共的条数

private int currentPage;//当前页面

public PageUtil(int pageSize, int recordCount, int currentPage) ...{

this.pageSize = pageSize;

this.recordCount = recordCount;

setCurrentPage(currentPage);

}

//构造方法

public PageUtil(int pageSize, int recordCount) ...{

this(pageSize, recordCount, 1);

}

//总页数

public int getPageCount() ...{

int size = recordCount/pageSize;//总条数/每页显示的条数=总页数

int mod = recordCount % pageSize;//最后一页的条数

if(mod != 0)

size++;

return recordCount == 0 ? 1 : size;

}

//包含,起始索引为0

public int getFromIndex() ...{

//System.out.println("from index:"+(currentPage-1) * pageSize);

return (currentPage-1) * pageSize;

}

//不包含

public int getToIndex() ...{

//System.out.println("to index:"+Math.min(recordCount, currentPage * pageSize));

return Math.min(recordCount, currentPage * pageSize);

}

//得到当前页

public int getCurrentPage() ...{

return currentPage;

}//设置当前页

public void setCurrentPage(int currentPage) ...{

int validPage = currentPage <= 0 ? 1 : currentPage;

validPage = validPage > getPageCount() ? getPageCount() : validPage;

this.currentPage = validPage;

}//得到每页显示的条数

public int getPageSize() ...{

return pageSize;

}//设置每页显示的条数

public void setPageSize(int pageSize) ...{

this.pageSize = pageSize;

}//得到总共的条数

public int getRecordCount() ...{

return recordCount;

}//设置总共的条数

public void setRecordCount(int recordCount) ...{

this.recordCount = recordCount;

}

}第二,放在jsp里面的代码,做了一点修改,首先那些对象名自然是要修改成自己项目里面的,然后我的数据查询是写在Java类里面,所以不用再查一次。还有就是我的表有是空的,如果不加上判空,会报空指针异常.

String pageStr = request.getParameter("page");

int currentPage = 1;

if (pageStr != null)

currentPage = Integer.parseInt(pageStr);

int aListLength=0;

if(aList!=null){//aList表中可能无数据,aList为空

aListLength=aList.size();

}else{

aListLength=0;

}

PageUtil pUtil = new PageUtil(2, aListLength, currentPage);

currentPage = pUtil.getCurrentPage();遍历输出变量的for循环,只是要把对象名改一下。

for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) { //查出整个列表后,从起始页位置开始输出一个页面的记录

messegeBean2 = (MessegeBean) aList.get(i);

结尾也有少许不同(在下面的代码里把columnName写死只是为了测试上页和下页的切换是否正确,偷懒了)

 
 

记录总数条 当前页/总页数

/每页显示条

注意:下面的页码只是测试 教务处专栏 模块的

首页

上页

下页

末页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值