package com.yiji.serc.web.util;
import java.util.ArrayList;
import java.util.List;
public class PageUtil {
/** 显示起始页 */
private int start;
/** 显示末页 */
private int end;
/** 总的页面数 */
private int pageSum = 10;
/** 当前页面数 */
private int currentPage = 1;
/** 每页数据数 */
private int pageNumber = 10;
/** 总的数据条数 */
private int dataSum = 100;
/** 显示的页面数 */
private int showPage = 5;
/** 查询起始数据 */
private int startPage = 0;
/** 查询结束数据 */
private int endPage = 0;
public PageUtil(int pageNumber, int dataSum) {
setPageUtil(pageNumber, dataSum);
}
private void setPageUtil(int pageNumber, int dataSum) {
this.pageNumber = pageNumber;
this.dataSum = dataSum;
if (dataSum % pageNumber != 0)
pageSum = dataSum / pageNumber + 1;
else
pageSum = dataSum / pageNumber;
startPage = (currentPage - 1) * pageNumber;
endPage = startPage + pageNumber - 1 < dataSum ? startPage + pageNumber
- 1 : dataSum - 1;
}
// 页面显示的页数
public List<Integer> getPages() {
List<Integer> pages = new ArrayList<Integer>();
if (currentPage - showPage / 2 < 1)
start = 1;
else if (currentPage + showPage / 2 >= pageSum) {
start = pageSum - showPage;
if (start < 1)
start = 1;
} else
start = currentPage - showPage / 2;
end = start + showPage <= pageSum ? start + showPage : pageSum;
for (int i = start; i < end; i++) {
pages.add(i);
}
return pages;
}
public int getShowPage() {
return showPage;
}
public int getStartPage() {
return startPage;
}
public void setStartPage(int startPage) {
this.startPage = startPage;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
public int getEndPage() {
return endPage;
}
public void setEndPage(int endPage) {
this.endPage = endPage;
}
public void setShowPage(int showPage) {
this.showPage = showPage;
}
public PageUtil() {
}
public int getPageSum() {
return pageSum;
}
public void setPageSum(int pageSum) {
this.pageSum = pageSum;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
setPageUtil(pageNumber, dataSum);
}
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public int getDataSum() {
return dataSum;
}
public void setDataSum(int dataSum) {
this.dataSum = dataSum;
}
}