通用分页---pageBean

版权声明: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 ;
}

猜你喜欢

转载自blog.csdn.net/qq_33417486/article/details/83176942