public classPager {//public static void main(String args[]){//Pager p = new Pager();//String pstr = p.getInitPager(10,200,1);//System.err.println("pstr="+pstr);//}//private static int pageSize = 20;
/** @method 分页,默认显示5页
**/
public static String getInitPager(int pageSize,int totalCount,intcurPage){
curPage= (curPage == 0) ? 1:curPage;int totalPage =getPageCount(pageSize,totalCount);int p_pre = (curPage>1) ? curPage-1 : 1;//上一页
int p_next = (curPage
StringBuffer frontFixedPage = newStringBuffer();
frontFixedPage.append("
- 首\n");
frontFixedPage.append("
上\n");//分页末尾 固定部分StringBuffer tailFixedPage = newStringBuffer();
tailFixedPage.append("
下\n");tailFixedPage.append("
尾\n");//分页末尾统计 固定部分StringBuffer fianlFixedPage = newStringBuffer();
fianlFixedPage.append("
页次:"+curPage+"/"+totalPage+"页 共"+totalCount+"条");//分页中间 变动部分StringBuffer midChangePage = newStringBuffer();if(totalPage <= 5){for(int i = 1; i <= totalPage; i++){
String active= (curPage == i) ? "class='active'" : "";
midChangePage.append("
"+i+"\n");}
}else{//页数n>5的,显示页数n-2,n-1,n,n+1,n+2
if(curPage > 2 && curPage <= totalPage - 2){for(int i = curPage-2; i <= curPage + 2; i++){
String active= (curPage == i) ? "class='active'" : "";
midChangePage.append("
"+i+"\n");}
}//当前页<=2的,显示1,2,3,4,5
else if(curPage<=2){for(int i = 1; i <= 5; i++){
String active= (curPage == i) ? "class='active'" : "";
midChangePage.append("
"+i+"\n");}
}//当前页>末尾第二页的,显示n-4,n-3,n-2,n-1,n
else if(curPage > totalPage - 2){for(int i = totalPage - 4; i <= totalPage; i++){
String active= (curPage == i) ? "class='active'" : "";
midChangePage.append("
"+i+"\n");}
}
}
StringBuffer pageStr= newStringBuffer();
pageStr.append(frontFixedPage);
pageStr.append(midChangePage);
pageStr.append(tailFixedPage);
pageStr.append(fianlFixedPage);
frontFixedPage= null;
midChangePage= null;
tailFixedPage= null;
fianlFixedPage= null;returnpageStr.toString();
}/** @method 计算总页数
**/
public static int getPageCount(int pageSize,inttotalCount){int p = (int)Math.ceil((double)totalCount/pageSize);
p= (p == 0) ? 1: p;returnp;
}/*
首
上
1
2
3
- 下
- 尾
页次:1/3页 共26条