Java分頁實體類

import java.util.List;

public class PageBean {

	// 傳遞的參數或配置的項
	private int currentPage; // 當前頁
	private int pageSize; // 每頁顯示多少條

	// 查詢數據庫
	private int recordCount; // 總記錄數
	private List recordList; // 本頁的數據列表

	// 計算
	private int pageCount; // 總頁數
	private int beginPageIndex; // 頁碼列表的開始索引
	private int endPageIndex; // 頁碼列表的結束索引

	/**
	 * 只須要接受前4個參數的值,會自動的計算出後3個屬性的值。
	 * 
	 * @param currentPage
	 * @param pageSize
	 * @param recordCount
	 * @param recordList
	 */
	public PageBean(int currentPage, int pageSize, int recordCount, List recordList) {
		this.currentPage = currentPage;
		this.pageSize = pageSize;
		this.recordCount = recordCount;
		this.recordList = recordList;

		// 計算pageCount
		pageCount = (recordCount + pageSize - 1) / pageSize;

		// 計算beginPageIndex和endPageIndex
		// 當頁碼數量不大於10個時,顯示全部頁碼。
		if (pageCount <= 10) {
			beginPageIndex = 1;
			endPageIndex = pageCount;
		}
		// 當頁碼數量大於10個時,顯示當前頁附近的共10個頁碼。
		else {
			// 通常狀況下顯示前4個加當前頁加後5個(共10個)
			beginPageIndex = currentPage - 4;
			endPageIndex = currentPage + 5;

			// 當前面不足4個頁碼時,顯示前10個頁碼
			if (beginPageIndex < 1) {
				beginPageIndex = 1;
				endPageIndex = 10;
			}
			// 當後面不足5個頁碼時,顯示後10個頁碼
			else if (endPageIndex > pageCount) {
				endPageIndex = pageCount;
				beginPageIndex = pageCount - 10 + 1; // 顯示時會包含兩邊的邊界,因此要減9.
			}
		}
	}

	public int getCurrentPage() {
		return currentPage;
	}

	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}

	public int getPageSize() {
		return pageSize;
	}

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

	public int getRecordCount() {
		return recordCount;
	}

	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}

	public List getRecordList() {
		return recordList;
	}

	public void setRecordList(List recordList) {
		this.recordList = recordList;
	}

	public int getPageCount() {
		return pageCount;
	}

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

	public int getBeginPageIndex() {
		return beginPageIndex;
	}

	public void setBeginPageIndex(int beginPageIndex) {
		this.beginPageIndex = beginPageIndex;
	}

	public int getEndPageIndex() {
		return endPageIndex;
	}

	public void setEndPageIndex(int endPageIndex) {
		this.endPageIndex = endPageIndex;
	}

}
相關文章
相關標籤/搜索