package test2; import java.io.Serializable; /** * 分页 */ public class Page implements Serializable { private static final long serialVersionUID = -3198048449643774660L; private int pageNum = 1; // 当前页数 private int numPerPage = 10; // 每页显示记录的条数 private int totalCount; // 总的记录条数 private int totalPageCount = 1; // 总的页数 @SuppressWarnings("unused") private int startPos; // 开始位置,从0开始 @SuppressWarnings("unused") private boolean hasFirst;// 是否有首页 @SuppressWarnings("unused") private boolean hasPre;// 是否有前一页 @SuppressWarnings("unused") private boolean hasNext;// 是否有下一页 @SuppressWarnings("unused") private boolean hasLast;// 是否有最后一页 public Page() { new Page(20, 1); } /** * 通过构造函数 传入 每页显示记录的条数 和 当前页 * @param numPerPage * @param pageNow */ public Page(int numPerPage, int pageNum) { this.numPerPage = numPerPage; this.pageNum = pageNum; } /** * 取得总页数,总页数=总记录数/总页数 * @return */ public int getTotalPageCount() { totalPageCount = getTotalCount() / getNumPerPage(); totalPageCount = totalPageCount==0 ? 1:totalPageCount; return (totalCount % numPerPage == 0) ? totalPageCount : totalCount/numPerPage + 1; } public void setTotalPageCount(int totalPageCount) { this.totalPageCount = totalPageCount; } public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getNumPerPage() { return numPerPage; } public void setNumPerPage(int numPerPage) { this.numPerPage = numPerPage; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } /** * 取得选择记录的初始位置 * @return */ public int getStartPos() { return (pageNum - 1) * numPerPage; } public void setStartPos(int startPos) { this.startPos = startPos; } /** * 是否是第一页 * @return */ public boolean isHasFirst() { return (pageNum == 1) ? false : true; } public void setHasFirst(boolean hasFirst) { this.hasFirst = hasFirst; } /** * 是否有首页 * @return */ public boolean isHasPre() { // 如果有首页就有前一页,因为有首页就不是第一页 return isHasFirst() ? true : false; } public void setHasPre(boolean hasPre) { this.hasPre = hasPre; } /** * 是否有下一页 * @return */ public boolean isHasNext() { // 如果有尾页就有下一页,因为有尾页表明不是最后一页 return isHasLast() ? true : false; } public void setHasNext(boolean hasNext) { this.hasNext = hasNext; } /** * 是否有尾页 * @return */ public boolean isHasLast() { // 如果不是最后一页就有尾页 return (pageNum == getTotalCount()) ? false : true; } public void setHasLast(boolean hasLast) { this.hasLast = hasLast; } }