版权声明:Hi https://blog.csdn.net/qq_33417486/article/details/83176942
简单的网页分页Bean:
public class PageBean<T> {
private List<T> data;//当前页数据列表
private int firstPage = 1;//首页
private int prePage;//上一页
private int curPage;//当前页
private int nextPage;//下一页
private int totalPage;//总页数,或末页
private int count;//总记录数
private int pageSize;//每页大小,用于设置每页显示多少条数据
private int startIndex;//每次查询开始的页数
private int start;//页码开始
private int end;//页码结束
//页码为前4后5
private void jisuan() {
if (getTotalPage() < 10){
start = firstPage;
end = totalPage;
}else {
start = curPage - 4;
end = curPage + 5;
if (start < 1){
start = firstPage;
end = 10;
}
if (end > totalPage){
end = totalPage;
start = totalPage - 9;
}
}
}
public PageBean(int curPage, int pageSize) {//初始化当前页数、每页大小、前一页数后一页数
this.curPage = curPage;
this.pageSize = pageSize;
this.prePage = curPage - 1;
this.nextPage = curPage + 1;
}
public PageBean(List<T> data, int firstPage, int prePage, int curPage, int nextPage, int totalPage, int count, int pageSize) {
this.data = data;
this.firstPage = firstPage;
this.prePage = prePage;
this.curPage = curPage;
this.nextPage = nextPage;
this.totalPage = totalPage;
this.count = count;
this.pageSize = pageSize;
}
public int getStartIndex() {
startIndex = (curPage - 1) * pageSize;
return startIndex;
}
public void setCount(int count) {
this.count = count;
totalPage = count%pageSize==0?count/pageSize:count/pageSize+1;//计算总页数
}
public void setStartIndex(int startIndex) {
this.startIndex = startIndex;
}
public int getStart() {
jisuan();
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
jisuan();
return end;
}
//仅列出改动的getter 和 setter 方法
//...
}
配套JS代码
将此方法直接使用或放入JS目录下即可(也可以zixing添加分页样式)
//参数1:分页对象
//参数2:访问的地址
//参数3 以后 都以key=value的字符串传入
//该方法用来拼接字符串的分页 多个li 返回一个字符串
//调用案例 如下
//var pageStr= addPage(resultInfo.data,"http://localhost:8080/travel/favoriterank.html" ,"key=value","key=value" ,"key=value");
function addPage(pageBean , myUrl){
//拼接分页
//需要的参数格式 key=value
var paramsTemp ="";
for(var i = 2 ; i <arguments.length ; i++){
if(i==2){
paramsTemp+="&"
}
//拼接参数
paramsTemp+=arguments[i];
//除了最后一个参数不拼接& 其他的都拼接 &key=value&key=value&key=value
//http://localhost:8080/项目名称/favoriterank.html?curPage=1&key=value&key=value&key=value
if(i!=arguments.length-1){
paramsTemp+="&";
}
}
//分页
var curPageInt = pageBean.curPage;
//计算前一页
var backPage = pageBean.prePage;
//计算后一页
var afterPage = pageBean.nextPage;
//拼接首页
var pageStr =" <li><a href=\""+myUrl+"?curPage=1"+paramsTemp+"\">首页</a></li>";
//拼接上页
if (curPageInt > 1){
pageStr +=" <li><a href=\""+myUrl+"?curPage="+backPage+""+paramsTemp+"\">上页</a></li>";
}
//拼接中间页码
for(var i = pageBean.start ; i <= pageBean.end ; i ++ ){
if(i == pageBean.curPage){
//pageStr +=" <li class='curPage'><a href=\""+myUrl+"?curPage="+i+""+paramsTemp+"\">"+i+"</a></li>";
pageStr +=" <li class='curPage'><a href='"+myUrl+"?curPage="+i+""+paramsTemp+"'>"+i+"</a></li>";
//地址?curPage=1&key=value&key=value&key=value
}else{
// pageStr +=" <li><a href=\""+myUrl+"?curPage="+i+"\""+paramsTemp+">"+i+"</a></li>";
pageStr +=" <li><a href='"+myUrl+"?curPage="+i+""+paramsTemp+"'>"+i+"</a></li>";
}
}
//拼接下页
//pageStr +=" <li><a href=\""+myUrl+"?"+paramsTemp+"&curPage="+afterPage+"\">下页</a></li>";
if (curPageInt < pageBean.totalPage){
pageStr +=" <li><a href='"+myUrl+"?curPage="+afterPage+""+paramsTemp+"'>下页</a></li>";
}
//拼接尾页
pageStr +=" <li><a href='"+myUrl+"?curPage="+pageBean.totalPage+""+paramsTemp+"'>尾页</a></li>";
//pageStr +=" <li><a href=\""+myUrl+"?"+paramsTemp+"&curPage="+pageBean.totalPage+"\">尾页</a></li>";
return pageStr ;
}