程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JAVA 分頁工具類及其使用,java分頁工具類

JAVA 分頁工具類及其使用,java分頁工具類

編輯:JAVA綜合教程

JAVA 分頁工具類及其使用,java分頁工具類


Pager.java

  1 package pers.kangxu.datautils.common;
  2 
  3 import java.io.Serializable;
  4 import java.util.List;
  5 
  6 /**
  7  * 
  8  * <b> 分頁通用類 </b>
  9  * 
 10  * @author kangxu
 11  * @param <T>
 12  * 
 13  */
 14 public class Pager<T> implements Serializable {
 15 
 16     /**
 17      * 
 18      */
 19     private static final long serialVersionUID = 4542617637761955078L;
 20 
 21     /**
 22      * currentPage 當前頁
 23      */
 24     private int currentPage = 1;
 25     /**
 26      * pageSize 每頁大小
 27      */
 28     private int pageSize = 10;
 29     /**
 30      * pageTotal 總頁數
 31      */
 32     private int pageTotal;
 33     /**
 34      * recordTotal 總條數
 35      */
 36     private int recordTotal = 0;
 37     /**
 38      * previousPage 前一頁
 39      */
 40     private int previousPage;
 41     /**
 42      * nextPage 下一頁
 43      */
 44     private int nextPage;
 45     /**
 46      * firstPage 第一頁
 47      */
 48     private int firstPage = 1;
 49     /**
 50      * lastPage 最後一頁
 51      */
 52     private int lastPage;
 53     /**
 54      * content 每頁的內容
 55      */
 56     private List<T> content;
 57 
 58     // 以下set方式是需要賦值的
 59     /**
 60      * 設置當前頁 <br>
 61      * 
 62      * @author kangxu
 63      * 
 64      * @param currentPage
 65      */
 66     public void setCurrentPage(int currentPage) {
 67         this.currentPage = currentPage;
 68     }
 69 
 70     /**
 71      * 設置每頁大小,也可以不用賦值,默認大小為10條 <br>
 72      * 
 73      * @author kangxu
 74      * 
 75      * @param pageSize
 76      */
 77     public void setPageSize(int pageSize) {
 78         this.pageSize = pageSize;
 79     }
 80 
 81     /**
 82      * 設置總條數,默認為0 <br>
 83      * 
 84      * @author kangxu
 85      * 
 86      * @param recordTotal
 87      */
 88     public void setRecordTotal(int recordTotal) {
 89         this.recordTotal = recordTotal;
 90         otherAttr();
 91     }
 92 
 93     /**
 94      * 設置分頁內容 <br>
 95      * 
 96      * @author kangxu
 97      * 
 98      * @param content
 99      */
100     public void setContent(List<T> content) {
101         this.content = content;
102     }
103 
104     /**
105      * 設置其他參數
106      * 
107      * @author kangxu
108      * 
109      */
110     public void otherAttr() {
111         // 總頁數
112         this.pageTotal = this.recordTotal % this.pageSize > 0 ? this.recordTotal / this.pageSize + 1 : this.recordTotal / this.pageSize;
113         // 第一頁
114         this.firstPage = 1;
115         // 最後一頁
116         this.lastPage = this.pageTotal;
117         // 前一頁
118         if (this.currentPage > 1) {
119             this.previousPage = this.currentPage - 1;
120         } else {
121             this.previousPage = this.firstPage;
122         }
123         // 下一頁
124         if (this.currentPage < this.lastPage) {
125             this.nextPage = this.currentPage + 1;
126         } else {
127             this.nextPage = this.lastPage;
128         }
129     }
130 
131     // 放開私有屬性
132     public int getCurrentPage() {
133         return currentPage;
134     }
135 
136     public int getPageSize() {
137         return pageSize;
138     }
139 
140     public int getPageTotal() {
141         return pageTotal;
142     }
143 
144     public int getRecordTotal() {
145         return recordTotal;
146     }
147 
148     public int getPreviousPage() {
149         return previousPage;
150     }
151 
152     public int getNextPage() {
153         return nextPage;
154     }
155 
156     public int getFirstPage() {
157         return firstPage;
158     }
159 
160     public int getLastPage() {
161         return lastPage;
162     }
163 
164     public List<T> getContent() {
165         return content;
166     }
167 
168     @Override
169     public String toString() {
170         return "Pager [currentPage=" + currentPage + ", pageSize=" + pageSize
171                 + ", pageTotal=" + pageTotal + ", recordTotal=" + recordTotal
172                 + ", previousPage=" + previousPage + ", nextPage=" + nextPage
173                 + ", firstPage=" + firstPage + ", lastPage=" + lastPage
174                 + ", content=" + content + "]";
175     }
176     
177     
178 
179 }

使用 PagerTester.java

 1 package pers.kangxu.datautils.utils;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import pers.kangxu.datautils.common.Pager;
 7 
 8 /**
 9  * 分頁數據測試
10  * <b>
11  *
12  * </b>
13  * @author kangxu
14  *
15  */
16 public class PagerTester {
17     
18     public static void main(String[] args) {
19         
20         Pager<String> pager = new Pager<String>();
21         
22         List<String> content = new ArrayList<String>();
23         content.add("str1");
24         content.add("str2");
25         content.add("str3");
26         content.add("str4");
27         content.add("str5");
28         content.add("str6");
29         content.add("str7");
30         content.add("str8");
31         content.add("str9");
32         content.add("str10");
33         
34         pager.setCurrentPage(1);
35         pager.setPageSize(10);
36         pager.setRecordTotal(62);
37         pager.setContent(content);
38         
39         System.out.println(pager);
40 
41     }
42 
43 }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved