package com.gakes.common.util; public class PageUtils { private int page; private int pageTotal; private String url; private int pageSize; public PageUtils(int page, int pageSize, int totalRecord, String url) { super(); this.page = page; this.pageSize = pageSize; this.pageTotal = (totalRecord % pageSize == 0) ? (totalRecord / pageSize) : (totalRecord / pageSize + 1); if (page < 1) this.page = 1; if (page > pageTotal) this.page = pageTotal; if (url.indexOf("?") >= 0) { this.url = url + "&page="; } else { this.url = url + "?page="; } } public String getPage() { StringBuffer pageBuffer = new StringBuffer(14); pageBuffer.append("<a href=\"" + url + 1 + "\">首页</a>"); if (page < 1) { pageBuffer.append("<a href=\"" + url + (this.page - 1) + "\">上一页</a>"); } else { pageBuffer.append("<a href=\"" + url + 1 + "\">上一页</a>"); } if (pageTotal - page <= 4 && pageTotal > 10) { for (int i = (pageTotal - 10) + 1; i <= pageTotal; i++) { if(page == i){ pageBuffer.append("<a style=\" background:#09F;color:#ffffff;\" href=\"" + url + i + "\">" + i + "</a>"); }else{ pageBuffer.append("<a href=\"" + url + i + "\">" + i + "</a>"); } } } else if (5 < page && pageTotal - page > 4) { for (int i = page - 5; i <= page + 4; i++) { if(page == i){ pageBuffer.append("<a style=\" background:#09F;color:#ffffff;\" href=\"" + url + i + "\">" + i + "</a>"); }else{ pageBuffer.append("<a href=\"" + url + i + "\">" + i + "</a>"); } } }else if(this.pageTotal<10) { for (int i = 1; i <= this.pageTotal; i++) { if(this.page == i){ pageBuffer.append("<a style=\" background:#09F;color:#ffffff;\" href=\"" + url + i + "\">" + i + "</a>"); }else{ pageBuffer.append("<a href=\"" + url + i + "\">" + i + "</a>"); } } }else { for (int i = 1; i <= 10; i++) { if(this.page == i){ pageBuffer.append("<a style=\" background:#09F;color:#ffffff;\" href=\"" + url + i + "\">" + i + "</a>"); }else{ pageBuffer.append("<a href=\"" + url + i + "\">" + i + "</a>"); } } } if (this.pageTotal > this.page) { pageBuffer.append("<a href=\"" + url +( this.page + 1) + "\">下一页</a>"); } else { pageBuffer.append("<a href=\"" + url + "" + this.pageTotal + "\">下一页</a>"); } pageBuffer.append("<a href=\"" + url + "" + this.pageTotal + "\">末页</a>"); return pageBuffer.toString(); } }
PageUtils pageUtils = new PageUtils(page, 20, 500,"news/companyActive");//当前页,每页数量,总共数量,网址
request.setAttribute("pageUtil",pageUtils.getPage());