package
pers.kangxu.datautils.common;
import
java.io.Serializable;
import
java.util.List;
/**
*
* <b> 分页通用类 </b>
*
* @author kangxu
* @param <T>
*
*/
public
class
Pager<T>
implements
Serializable {
/**
*
*/
private
static
final
long
serialVersionUID = 4542617637761955078L;
/**
* currentPage 当前页
*/
private
int
currentPage =
1
;
/**
* pageSize 每页大小
*/
private
int
pageSize =
10
;
/**
* pageTotal 总页数
*/
private
int
pageTotal;
/**
* recordTotal 总条数
*/
private
int
recordTotal =
0
;
/**
* previousPage 前一页
*/
private
int
previousPage;
/**
* nextPage 下一页
*/
private
int
nextPage;
/**
* firstPage 第一页
*/
private
int
firstPage =
1
;
/**
* lastPage 最后一页
*/
private
int
lastPage;
/**
* content 每页的内容
*/
private
List<T> content;
// 以下set方式是需要赋值的
/**
* 设置当前页 <br>
*
* @author kangxu
*
* @param currentPage
*/
public
void
setCurrentPage(
int
currentPage) {
this
.currentPage = currentPage;
}
/**
* 设置每页大小,也可以不用赋值,默认大小为10条 <br>
*
* @author kangxu
*
* @param pageSize
*/
public
void
setPageSize(
int
pageSize) {
this
.pageSize = pageSize;
}
/**
* 设置总条数,默认为0 <br>
*
* @author kangxu
*
* @param recordTotal
*/
public
void
setRecordTotal(
int
recordTotal) {
this
.recordTotal = recordTotal;
otherAttr();
}
/**
* 设置分页内容 <br>
*
* @author kangxu
*
* @param content
*/
public
void
setContent(List<T> content) {
this
.content = content;
}
/**
* 设置其他参数
*
* @author kangxu
*
*/
public
void
otherAttr() {
// 总页数
this
.pageTotal =
this
.recordTotal %
this
.pageSize >
0
?
this
.recordTotal /
this
.pageSize +
1
:
this
.recordTotal /
this
.pageSize;
// 第一页
this
.firstPage =
1
;
// 最后一页
this
.lastPage =
this
.pageTotal;
// 前一页
if
(
this
.currentPage >
1
) {
this
.previousPage =
this
.currentPage -
1
;
}
else
{
this
.previousPage =
this
.firstPage;
}
// 下一页
if
(
this
.currentPage <
this
.lastPage) {
this
.nextPage =
this
.currentPage +
1
;
}
else
{
this
.nextPage =
this
.lastPage;
}
}
// 放开私有属性
public
int
getCurrentPage() {
return
currentPage;
}
public
int
getPageSize() {
return
pageSize;
}
public
int
getPageTotal() {
return
pageTotal;
}
public
int
getRecordTotal() {
return
recordTotal;
}
public
int
getPreviousPage() {
return
previousPage;
}
public
int
getNextPage() {
return
nextPage;
}
public
int
getFirstPage() {
return
firstPage;
}
public
int
getLastPage() {
return
lastPage;
}
public
List<T> getContent() {
return
content;
}
@Override
public
String toString() {
return
"Pager [currentPage="
+ currentPage +
", pageSize="
+ pageSize
+
", pageTotal="
+ pageTotal +
", recordTotal="
+ recordTotal
+
", previousPage="
+ previousPage +
", nextPage="
+ nextPage
+
", firstPage="
+ firstPage +
", lastPage="
+ lastPage
+
", content="
+ content +
"]"
;
}
}
使用 PagerTester.java
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
|
package
pers.kangxu.datautils.utils;
import
java.util.ArrayList;
import
java.util.List;
import
pers.kangxu.datautils.common.Pager;
/**
* 分页数据测试
* <b>
*
* </b>
* @author kangxu
*
*/
public
class
PagerTester {
public
static
void
main(String[] args) {
Pager<String> pager =
new
Pager<String>();
List<String> content =
new
ArrayList<String>();
content.add(
"str1"
);
content.add(
"str2"
);
content.add(
"str3"
);
content.add(
"str4"
);
content.add(
"str5"
);
content.add(
"str6"
);
content.add(
"str7"
);
content.add(
"str8"
);
content.add(
"str9"
);
content.add(
"str10"
);
pager.setCurrentPage(
1
);
pager.setPageSize(
10
);
pager.setRecordTotal(
62
);
pager.setContent(content);
System.out.println(pager);
}
}
|
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
原文链接:http://www.cnblogs.com/kangxu/p/6248027.html