} public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; allPage = (allRow+(pageSize - 1))/pageSize;//得到总页数 } public int getAllPage() { return allPage; } public int getAllRow() { return allRow; } public int getBeforePage() { return beforePage; } public int getNextPage() { return nextPage; } public List<G> getPlist() { return plist; }
你可以用面向对象的思想,把分页用一个类来实现。
/**
* 分页类
* @author Administrator
*
*/
public class Page<G> {
private List<G> list;//查询出的源数据
private List<G> plist; //页面list(封装到页面上显示的数据)
private int allRow;//总记录条数
private int pageSize = 10;//每页显示多少条记录
private int allPage;//总页数
private int beforePage;//上一页
private int currPage = 1;//当前页
private int nextPage;//下一页
public void setList(List<G> list){
if(list == null){
allRow = 0;
allPage = 1;
}else{
this.list = list;
allRow = this.list.size();//得到总计录条数
allPage = (allRow+(pageSize - 1))/pageSize;//得到总页数
}
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
if(allPage == 1){
beforePage = 1;
this.currPage = 1;
this.nextPage = 1;
}else if(currPage >= allPage){
beforePage = allPage - 1;
this.currPage = allPage;
this.nextPage = allPage;
}else if(currPage <= 1){
beforePage = 1;
this.currPage = 1;
this.nextPage = 2;
}else{
beforePage = currPage -1;
this.currPage = currPage;
this.nextPage = currPage + 1;
}
if(list == null){
}else{
int begin = (this.currPage-1)*pageSize;
int end = this.currPage*pageSize>list.size()?list.size():this.currPage*pageSize;
this.plist = list.subList(begin, end);
}
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
allPage = (allRow+(pageSize - 1))/pageSize;//得到总页数
}
public int getAllPage() {
return allPage;
}
public int getAllRow() {
return allRow;
}
public int getBeforePage() {
return beforePage;
}
public int getNextPage() {
return nextPage;
}
public List<G> getPlist() {
return plist;
}
}
然后余下的工作自己去完成吧。