java分页代码_java代码分页

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条

*/}

版权声明:本文为weixin_35803480原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。