基于项目需求对bootstrap做的分页:
public static String PagerStr(int totalpage,int pagesize,int pagenum,String url){
StringBuffer sb = new StringBuffer();
sb.append("<ul class=\"pagination pagination-sm\">");
if(pagenum>1){
sb.append("<li id=\"previous\"><a class=\"prv\" href=\""+url+"?page="+(pagenum-1)+"\">上一页</a></li>");
}
boolean isfirst = false;
if (totalpage > 5) {
int j = 0;
for (int i = 1; i <= totalpage; i++) {
if (pagenum > 4) {
j++;
if (j == 1) {
isfirst = true;
break;
}
}
}
if (isfirst) {
sb.append("<li><a href=\""+url+"?page=1"+"\">1</a></li>");
sb.append("<li><a href=\"javascript:volid(0);\">......</a></li>");
}
}
if (totalpage > 5) {
int m = 0;
for (int i = 1; i <= totalpage; i++) {
if (pagenum <= 4) {
m++;
sb.append("<li><a href=\""+url+"?page="+i+"\">").append(i).append("</a></li>");
if (m >= 5) {
break;
}
} else {
m++;
int o = 2;
if (pagenum > (totalpage - 2)) {
o = o + (pagenum - (totalpage - 2));
}
if (pagenum - o <= m && pagenum + 2 >= m) {
sb.append("<li><a href=\""+url+"?page="+i+"\">").append(i).append("</a></li>");
}
}
}
}else {
for (int i = 1; i <= totalpage; i++) {
sb.append("<li><a href=\""+url+"?page="+i+"\">").append(i).append("</a></li>");
}
}
if (pagenum <= (totalpage - 3)) {
boolean islast = false;
if (totalpage > 5) {
for (int n = 1; n <= totalpage; n++) {
if (pagenum <= totalpage - 3) {
islast = true;
break;
}
}
}
if (islast) {
sb.append("<li><a href=\"javascript:volid(0);\">......</a></li>");
sb.append("<li><a href=\""+url+"?page="+totalpage+"\">").append(totalpage).append("</a></li>");
}
}
if (pagenum < totalpage) {
sb.append("<li id=\"previous\"><a class=\"prv\" href=\""+url+"?page="+(pagenum+1)+"\">下一页</a></li>");
}
sb.append("</ul>");
return sb.toString();