JSP分頁工具類


/**
 * 頁面裏的一頁數據的對象
 * @author BluceYoung
 *
 */
public class PageUtil<T> {
	private int pageNo;//當前第幾頁
	private int pageCount;//共多少頁
	private int pageSize=5;//每頁顯示多少條
	private int totalCount;//總數據條數
	List<T> listData=new ArrayList<T>();
	
	/**
	 * 獲取當前頁碼
	 * @return
	 */
	public int getPageNo() {
		return pageNo;
	}
	/**
	 * 獲取總頁數
	 * @return
	 */
	public int getPageCount() {
		return pageCount;
	}
	/**
	 * 獲取每頁數據條數
	 * @return
	 */
	public int getPageSize() {
		return pageSize;
	}
	/**
	 * 獲取總數據條數
	 * @return
	 */
	public int getTotalCount() {
		return totalCount;
	}
	/**
	 * 獲取本頁數據集合
	 * @return
	 */
	public List<T> getListData() {
		return listData;
	}
	
	
	
	/**
	 * 設置當前頁碼,下限1,上限pageCount
	 * @param pageNo
	 */
	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
		if(this.pageNo<1) {
			this.pageNo=1;
		}
		if(this.totalCount>0 && pageNo >pageCount) {//頁碼超過總頁數
			this.pageNo=pageCount;//設置爲末頁
		}
	}
	/**
	 * 設置每頁數據條數
	 * @param pageSize
	 */
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	/**
	 * 設置總數據條數
	 * @param totalCount
	 */
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
		//計算總頁數
		this.pageCount=totalCount/pageSize;
		if(totalCount%pageSize>0) {//頁數不夠,得加一頁
			this.pageCount++;
		}
	}
	/**
	 * 設置當前頁數據
	 * @param listData
	 */
	public void setListData(List<T> listData) {
		this.listData = listData;
	}
	
	/**
	 * 實例化一個數據頁,確定:每頁條數、總數據數、總頁數
	 * @param pageSize
	 * @param totalCount
	 */
	public PageUtil(int pageSize, int totalCount) {
		super();
		this.pageSize = pageSize;
		setTotalCount(totalCount);
	}
	
	/**
	 * 根據頁碼獲取查詢語句的limit開始
	 * @param pageNo
	 * @return
	 */
	public int getLimitStart(int pageNo) {
		return (pageNo-1)*this.pageSize;
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章