分页工具类

package com.exjor.webdemo;

public class PagerItem {

	public PagerItem() {

	}

	public PagerItem(Integer pPageSize) {
		this.setPageSize(pPageSize);
		reset();
	}

	public PagerItem(Integer pPageSize, Integer pPageIndex) {
		this.setPageSize(pPageSize);
		this.setPageIndex(pPageIndex);
		reset();
	}

	public PagerItem(Integer pPageSize, Integer pPageIndex, Integer pRowCount) {
		this.setPageSize(pPageSize);
		this.setPageIndex(pPageIndex);
		this.setRowCount(pRowCount);
		reset();
	}

	public PagerItem changePageSize(Integer pPageSize) {
		setPageSize(pPageSize);
		return reset();
	}

	public PagerItem changePageIndex(Integer pPageIndex) {
		setPageIndex(pPageIndex);
		return reset();
	}

	public PagerItem changeRowCount(Integer pRowCount) {
		setRowCount(pRowCount);

		return reset();
	}

	public PagerItem reset() {
		return resetPager().resetPageNum();
	}

	public PagerItem resetPager() {
		if (pageSize < 1) {
			pageSize = 10;
		}

		pageCount = (rowCount + pageSize - 1) / pageSize;
		if (pageIndex < 0) {
			pageIndex = 1;
		}
		if (pageCount > 1 && pageIndex > pageCount) {
			pageIndex = pageCount;
		}

		return this;

	}

	public Integer getPageSize() {
		return pageSize;
	}

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

	public Integer getPageIndex() {
		return pageIndex;
	}

	public void setPageIndex(Integer pageIndex) {
		this.pageIndex = pageIndex;
	}

	public Integer getRowCount() {
		return rowCount;
	}

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

	public Integer getPageCount() {
		return pageCount;
	}

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

	private Integer pageSize = 10;

	private Integer pageIndex = 1;

	private Integer rowCount = 0;

	private Integer pageCount = 1;

	private Integer startIndex = 0;

	public Integer getStartIndex() {

		if (pageIndex > 1) {
			startIndex = (pageIndex - 1) * pageSize;
		}
		if (startIndex < 0) {
			startIndex = 0;
		}
		return startIndex;
	}

	public void setStartIndex(Integer startIndex) {
		this.startIndex = startIndex;
	}

	public void parsePageSize(String pPageSize) {
		if (!SysFun.isNullOrBlank(pPageSize)) {
			pageSize = SysFun.parseInt(pPageSize);
		}
	}

	public void parsePageIndex(String pPageIndex) {
		if (!SysFun.isNullOrBlank(pPageIndex)) {
			pageIndex = SysFun.parseInt(pPageIndex);
		}
	}

	public static void main(String[] args) {

		System.out.println("Test");
		PagerItem pager = new PagerItem(5, 3).changeRowCount(100);

		System.out.println("limit " + pager.getStartIndex() + ", " + pager.getPageSize());

	}

	private String url = "";

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	private String paramPageSize = "pagesize";
	private String paramPageIndex = "pageindex";

	public String getParamPageSize() {
		return paramPageSize;
	}

	public void setParamPageSize(String paramPageSize) {
		this.paramPageSize = paramPageSize;
	}

	public String getParamPageIndex() {
		return paramPageIndex;
	}

	public void setParamPageIndex(String paramPageIndex) {
		this.paramPageIndex = paramPageIndex;
	}

	public String generalUrl_ByPageNum(int pPageNum) {

		String str = this.url;
		if (pPageNum < 0) {
			pPageNum = 1;
		}
		str = SysFun.resetUrlQSValue(str, getParamPageSize(), "" + pageSize);
		str = SysFun.resetUrlQSValue(str, getParamPageIndex(), "" + pPageNum);
		return str;
	}

	public PagerItem changeUrl(String pUrl) {
		this.url = pUrl;
		resetPageUrl();
		return this;
	}

	public PagerItem resetPageNum() {
		firstPageNum = 1;
		lastPageNum = pageCount;

		prevPageNum = pageIndex - 1;
		if (prevPageNum < firstPageNum) {
			prevPageNum = 1;
		}

		nextPageNum = pageIndex + 1;
		if (nextPageNum > lastPageNum) {
			nextPageNum = lastPageNum;
		}

		return this;
	}

	public PagerItem resetPageUrl() {
		resetPageNum();
		firstPageUrl = generalUrl_ByPageNum(firstPageNum);
		lastPageUrl = generalUrl_ByPageNum(lastPageNum);
		prevPageUrl = generalUrl_ByPageNum(prevPageNum);
		nextPageUrl = generalUrl_ByPageNum(nextPageNum);
		return this;
	}

	private Integer firstPageNum = 1;
	private Integer lastPageNum = 1;
	private Integer prevPageNum = 1;
	private Integer nextPageNum = 1;

	private String firstPageUrl;
	private String lastPageUrl;
	private String prevPageUrl;
	private String nextPageUrl;

	public Integer getFirstPageNum() {
		return firstPageNum;
	}

	public void setFirstPageNum(Integer firstPageNum) {
		this.firstPageNum = firstPageNum;
	}

	public Integer getLastPageNum() {
		return lastPageNum;
	}

	public void setLastPageNum(Integer lastPageNum) {
		this.lastPageNum = lastPageNum;
	}

	public Integer getPrevPageNum() {
		return prevPageNum;
	}

	public void setPrevPageNum(Integer prevPageNum) {
		this.prevPageNum = prevPageNum;
	}

	public Integer getNextPageNum() {
		return nextPageNum;
	}

	public void setNextPageNum(Integer nextPageNum) {
		this.nextPageNum = nextPageNum;
	}

	public String getFirstPageUrl() {
		return firstPageUrl;
	}

	public void setFirstPageUrl(String firstPageUrl) {
		this.firstPageUrl = firstPageUrl;
	}

	public String getLastPageUrl() {
		return lastPageUrl;
	}

	public void setLastPageUrl(String lastPageUrl) {
		this.lastPageUrl = lastPageUrl;
	}

	public String getPrevPageUrl() {
		return prevPageUrl;
	}

	public void setPrevPageUrl(String prevPageUrl) {
		this.prevPageUrl = prevPageUrl;
	}

	public String getNextPageUrl() {
		return nextPageUrl;
	}

	public void setNextPageUrl(String nextPageUrl) {
		this.nextPageUrl = nextPageUrl;
	}

}



            
posted @ 2017-11-01 11:41  Ling_Renne  阅读(180)  评论(0编辑  收藏  举报