①分页效果:
②分页PageBean模型设计
1
package com.cn.utils;
2
3
import java.util.List;
4
5
public class PageBean<T> {
6
7
/**
8
* 供外界调用,只能传入一下参数
9
* @param currentPageNumber 要显示的当前页码
10
* @param totalRecordCounts 总记录条数
11
* @param pageSize 每页显示条数
12
*/
13
public PageBean(int currentPageNumber, int totalRecordCounts, int pageSize){
14
this.currentPageNumber = currentPageNumber;
15
this.totalRecordCounts = totalRecordCounts;
16
this.pageSize = pageSize;
17
18
//计算总页数
19
totalPageCounts = totalRecordCounts%pageSize==0?totalRecordCounts/pageSize:(totalRecordCounts/pageSize+1);
20
21
//计算每页开始的索引值
22
startIndex = (currentPageNumber-1)*pageSize;
23
24
/**
25
* 计算显示的开始页码和显示的结束页码
26
*/
27
/**
28
* 注意设置变量,设置分页显示时显示的最大页码数量,这个数字必须为奇数,为了让当前页居中
29
*/
30
int maxShowPageNum = 5;//可自由设置(为奇数即可)
31
if(totalPageCounts <= maxShowPageNum){
//总页数<=maxShowPageNum
32
beginPageNumber = 1;
33
endPageNumber = totalPageCounts;
34
}else{
//总页数>=maxShowPageNum
35
beginPageNumber = currentPageNumber-maxShowPageNum/2;//假如maxShowPageNum=5,这是候当前页居中,则左右两边为当前页+maxShowPageNum/2
36
endPageNumber = currentPageNumber+maxShowPageNum/2;
37
if(beginPageNumber < 1){
38
beginPageNumber = 1;
39
endPageNumber = maxShowPageNum;
40
}
41
if(endPageNumber > totalPageCounts){
42
beginPageNumber = totalPageCounts-(maxShowPageNum-1);
43
endPageNumber = totalPageCounts;
44
}
45
}
46
}
47
48
/**
49
* 要显示的当前页码
50
*/
51
private int currentPageNumber;
52
53
/**
54
* 记录总条数
55
*/
56
private int totalRecordCounts;
57
58
/**
59
* 每页显示数据条数
60
*/
61
private int pageSize;
62