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; } }