Pager.java
3.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
package com.bjivt.util;
import java.util.ArrayList;
import java.util.List;
public class Pager {
public int count=0;//总记录数
public int pages=0;//总页数
public int page=1;//当前页
public int from=0;//记录的起始索引
public int size=20;//每页的记录数
public int numberCount=5;//显示的左右页码
public String orderBy = "createDate desc";
public List<String> pagerNumbers=new ArrayList<String>();
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getPages() {
pages=(int) Math.ceil((float) count / size);
if (pages == 0)
pages = 1;
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public int getPage() {
if(page<=0){
page=1;
}
// if(page>pages)page=pages;
return page;
}
public void setPage(int page) {
if (page <=0) { // *当前页码数
page = 1;
}
// if (getPages() == 0)
// this.page = 1;
// if (page > getPages()) { // 当前页码数大于总页数
// page = getPages();
// }
//
this.page = page;
}
public int getFrom() {
from=(page - 1) * size;
if(from>count||from<0){
from=0;
}
return from;
}
public void setFrom(int from) {
this.from = from;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public void setPagerNumbers(List<String> pagerNumbers) {
this.pagerNumbers = pagerNumbers;
}
/**
* 返回显示的列表页数
* @param pages 总页数
* @param nowPage 当前页
* @param count 当前页的前后页码数量
* @author Administrator
* */
public List<String> showPages(int numberCount){
int start=1;
int end=1;
List<String> pageList=new ArrayList<String>();
if(page-numberCount<=0){
start= 1;//开始页码
}else{
start=page-numberCount;
}
if (page + numberCount > pages) {
end = pages;// 结束页码
} else{
end = page + numberCount;
}
if(end-start<numberCount*2){
if(page<numberCount){
end=end+(numberCount-start);
if(end>pages){
end= pages;
}
}else{
start=start-(page+numberCount-end);
}
}
if(end<=0) end= page+numberCount;//结束页码
if(start<=0){
start=1;
}
if(numberCount*2+1>=pages){
start=1;
end=pages;
}
for(int i=start;i<=end;i++){
pageList.add(i+"");
}
return pageList;
}
public int getNumberCount() {
return numberCount;
}
public void setNumberCount(int numberCount) {
this.numberCount = numberCount;
}
/**
* 获得页码串 1 2 3 4 5 六 7 8 9 10 11
* @param nowpage 当前页码 (六)
* @param totalNum 总页数(20)
* @param numberCount 当前页前后页码个数(5)
* getPagerNumbers(6,20,5 )
* 20110113 张树范
* */
public List<String> getPagerNumbers() {
int start=1;
int end=1;
List<String> pageList=new ArrayList<String>();
if(page-numberCount<=0){
start= 1;//开始页码
}else{
start=page-numberCount;
}
if (page + numberCount > getPages()) {
end = getPages();// 结束页码
} else{
end = page + numberCount;
}
if(end-start<numberCount*2){
if(page<numberCount){
end=end+(numberCount-start);
if(end>getPages()){
end= getPages();
}
}else{
start=start-(page+numberCount-end);
}
}
if(end<=0) end= page+numberCount;//结束页码
if(start<=0){
start=1;
}
if(numberCount*2+1>=getPages()){
start=1;
end=getPages();
}
for(int i=start;i<=end;i++){
pageList.add(i+"");
}
return pageList;
}
public String getOrderBy() {
return orderBy;
}
public void setOrderBy(String orderBy) {
this.orderBy = orderBy;
}
}