package cn.gzsxt.util;

import java.util.List;//封装了一个页面的全部信息

public classPageUtil {private int currPage; //当前页

private int pageSize; //每页多少条数据

private int navCount; //导航条中的总数字

private int rowCount; //总数据量

private int nextPage; //下一页

private int prevPage; //上一页

private int pageCount; //总页数

private int firstPage; //首页

private int lastPage; //尾页

private int startNav; //起始导航数字

private int endNav; //结束导航数字

private List pageData; //一页的数据内容

public intgetCurrPage() {returncurrPage;

}public void setCurrPage(intcurrPage) {this.currPage =currPage;

}public intgetPageSize() {returnpageSize;

}public void setPageSize(intpageSize) {this.pageSize =pageSize;

}public intgetNavCount() {returnnavCount;

}public void setNavCount(intnavCount) {this.navCount =navCount;

}public intgetRowCount() {returnrowCount;

}public void setRowCount(introwCount) {this.rowCount =rowCount;

}public intgetNextPage() {returnnextPage;

}public void setNextPage(intnextPage) {this.nextPage =nextPage;

}public intgetPrevPage() {returnprevPage;

}public void setPrevPage(intprevPage) {this.prevPage =prevPage;

}public intgetPageCount() {returnpageCount;

}public void setPageCount(intpageCount) {this.pageCount =pageCount;

}public intgetFirstPage() {returnfirstPage;

}public void setFirstPage(intfirstPage) {this.firstPage =firstPage;

}public intgetLastPage() {returnlastPage;

}public void setLastPage(intlastPage) {this.lastPage =lastPage;

}public intgetStartNav() {returnstartNav;

}public void setStartNav(intstartNav) {this.startNav =startNav;

}public intgetEndNav() {returnendNav;

}public void setEndNav(intendNav) {this.endNav =endNav;

}publicList getPageData() {returnpageData;

}public voidsetPageData(List pageData) {this.pageData =pageData;

}publicPageUtil() {

}public PageUtil(int currPage, int pageSize, int navCount, introwCount) {this.currPage =currPage;this.pageSize =pageSize;this.navCount =navCount;this.rowCount =rowCount;this.pageCount = (int) Math.ceil(this.rowCount / (this.pageSize * 1.0));this.firstPage = 1;this.lastPage = this.pageCount;//避免传过来的currPage不在首页和尾页之间

this.currPage = this.currPage < this.firstPage ? this.firstPage

:this.currPage;this.currPage = this.currPage > this.lastPage ? this.firstPage

:this.currPage;this.prevPage = this.currPage - 1 <= 0 ? this.firstPage

:this.currPage - 1;this.nextPage = this.currPage + 1 >= this.lastPage ? this.lastPage

:this.currPage + 1;//计算起始导航数字和结束导航数字: 始终保证this.endNav - this.startNav = this.navCount - 1;

this.startNav = (this.currPage - this.navCount / 2) < this.firstPage ? this.firstPage

: (this.currPage - this.navCount / 2);this.endNav = (this.startNav + this.navCount - 1) > this.lastPage ? this.lastPage

: (this.startNav + this.navCount - 1);if (this.pageCount > this.navCount) {this.startNav = this.endNav - this.startNav < this.navCount - 1 ? this.endNav- this.navCount + 1:this.startNav;

}

}public static voidmain(String[] args) {

PageUtil pu= new PageUtil(1, 10, 10, 89);

System.out.println("总页数:" +pu.getPageCount());

System.out.println("上一页:" +pu.getPrevPage());

System.out.println("下一页:" +pu.getNextPage());

System.out.println("起始导航数字:" +pu.getStartNav());

System.out.println("结束导航数字:" +pu.getEndNav());

}

}

更多推荐

java 分页对象合并_java分页对象封装