001 | package com.gm.common; |
002 |
003 | import java.util.ArrayList; |
004 | import java.util.List; |
005 | /** |
006 | * 分页功能类 |
007 | * @author Administrator |
008 | * |
009 | */ |
010 | public class PageSupport { |
011 | private Integer totalCount = 0 ; //总记录数 |
012 | private Integer pageCount= 0 ; //总页数 |
013 | private Integer pageSize = 2 ; //每页显示记录数 |
014 | private Integer page = 1 ; //当前页 |
015 | private Integer num = 3 ; //当前页之前和之后显示的页数个数 |
016 | private List items = new ArrayList(); //当前页记录内容集合 |
017 | |
018 | /** |
019 | * 计算总页数 |
020 | * @param totalCount |
021 | */ |
022 | public void setTotalCount(Integer totalCount) { |
023 | if (totalCount > 0 ) { |
024 | this .totalCount = totalCount; |
025 | if ( this .totalCount % this .pageSize == 0 ){ |
026 | this .pageCount = totalCount/pageSize; |
027 | } else if ( this .totalCount % this .pageSize > 0 ){ |
028 | this .pageCount = totalCount/pageSize + 1 ; |
029 | } else { |
030 | this .pageCount = 0 ; |
031 | } |
032 | |
033 | } |
034 | |
035 | } |
036 | /** |
037 | * 获取总记录数 |
038 | * @return |
039 | */ |
040 | public Integer getTotalCount() { |
041 | return totalCount; |
042 | } |
043 |
044 | |
045 | /** |
046 | * 获取每页显示记录数 |
047 | * @return |
048 | */ |
049 | public Integer getPageSize() { |
050 | return pageSize; |
051 | } |
052 |
053 | /** |
054 | * 设置每页显示记录数 |
055 | * @param pageSize |
056 | */ |
057 | public void setPageSize(Integer pageSize) { |
058 | this .pageSize = pageSize; |
059 | } |
060 |
061 | /** |
062 | * 得到当前页数 |
063 | * @return |
064 | */ |
065 | public Integer getPage() { |
066 | return page; |
067 | } |
068 |
069 | /** |
070 | * 设置当前页数 |
071 | * @param page |
072 | */ |
073 | public void setPage(Integer page) { |
074 | this .page = page; |
075 | } |
076 | |
077 | /** |
078 | * 获取当前页之前或之后显示的页数个数 |
079 | * @return |
080 | */ |
081 | public Integer getNum() { |
082 | return num; |
083 | } |
084 |
085 | /** |
086 | * 设置当前页之前或之后显示的页数个数 |
087 | * @param num |
088 | */ |
089 | public void setNum(Integer num) { |
090 | this .num = num; |
091 | } |
092 |
093 | /** |
094 | * 获取当前页记录内容集合 |
095 | * @return |
096 | */ |
097 | public List getItems() { |
098 | return items; |
099 | } |
100 |
101 | /** |
102 | * 设置当前页记录内容集合 |
103 | * @param items |
104 | */ |
105 | public void setItems(List items) { |
106 | this .items = items; |
107 | } |
108 |
109 |
110 | /** |
111 | * 得到总页数 |
112 | * @return |
113 | */ |
114 | public Integer getPageCount() { |
115 | return pageCount; |
116 | } |
117 | /** |
118 | * 获取前一页 |
119 | * @return |
120 | */ |
121 | public Integer getPrev(){ |
122 | return page- 1 ; |
123 | } |
124 | |
125 | /** |
126 | * 获取后一页 |
127 | * @return |
128 | */ |
129 | public Integer getNext(){ |
130 | return page+ 1 ; |
131 | } |
132 | |
133 | /** |
134 | * 获取最后一页 |
135 | * @return |
136 | */ |
137 | public Integer getLast(){ |
138 | return pageCount; |
139 | } |
140 | |
141 | /** |
142 | * 判断是否有前一页 |
143 | * @return |
144 | */ |
145 | public boolean getIsPrev(){ |
146 | if (page> 1 ){ |
147 | return true ; |
148 | } |
149 | return false ; |
150 | } |
151 | |
152 | /** |
153 | * 判断是否有后一页 |
154 | * @return |
155 | */ |
156 | public boolean getIsNext(){ |
157 | |
158 | if (pageCount!= null && page<pageCount){ |
159 | return true ; |
160 | } |
161 | return false ; |
162 | } |
163 | |
164 | /** |
165 | * 当前页的前num条页 假设当前页是 6 共有11页 如:1 2 3 4 5 |
166 | * @return |
167 | */ |
168 | public List<Integer> getPrevPages() { |
169 | List<Integer> list = new ArrayList<Integer>(); |
170 | Integer _frontStart = 1 ; |
171 | |
172 | if (page > num) { |
173 | _frontStart = page - num; |
174 | } |
175 | |
176 | |
177 | for (Integer i=_frontStart; i<page; i++) { |
178 | list.add(i); |
179 | } |
180 | |
181 | return list; |
182 | } |
183 | |
184 | /** |
185 | * 当前页的后num条页 假设当前页是 6 共有11页 如:7 8 9 10 11 |
186 | * @return |
187 | */ |
188 | public List<Integer> getNextPages() { |
189 | List<Integer> list = new ArrayList<Integer>(); |
190 | Integer _endCount = num; |
191 | if (pageCount!= null ){ |
192 | if (num < pageCount && (page+num)<pageCount) { |
193 | _endCount = page+_endCount; |
194 | } else { |
195 | _endCount=pageCount; |
196 | } |
197 | |
198 | for (Integer i=page+ 1 ;i<=_endCount; i++) { |
199 | list.add(i); |
200 | } |
201 | } |
202 | return list; |
203 | } |
204 |
205 |
206 | |
207 | } |

511076827 LV33
2023年9月20日
泓鼎168 LV20
2023年4月14日
微信网友_6200823191523328 LV3
2022年11月11日
oulingqiao LV13
2022年6月8日
skook7 LV2
2022年3月31日
lzlzyw LV14
2022年3月24日
wanglinddad LV55
2022年2月25日
不会写代码的小姚 LV3
2021年11月20日
543666826 LV34
2021年11月19日
ᯤ⁵²¹ᴳ⁺ LV8
2021年11月13日