springboot整合freemarker分页

参考分页地址:https://www.cnblogs.com/whgk/p/6474396.html

使用Freemarker做的分页查询。

分页使用的公共处理类,对每页条数,页码和总数进行操作赋值:

 public class PageBean {
  6     //已知数据
  7     private int pageNum;    //当前页,从请求那边传过来。
  8     private int pageSize;    //每页显示的数据条数。
  9     private int totalRecord;    //总的记录条数。查询数据库得到的数据
 10     
 11     //需要计算得来
 12     private int totalPage;    //总页数,通过totalRecord和pageSize计算可以得来
 13     //开始索引,也就是我们在数据库中要从第几行数据开始拿,有了startIndex和pageSize,
 14     //就知道了limit语句的两个数据,就能获得每页需要显示的数据了
 15     //private int startIndex;   (对原作者这里进行了更改,不在使用此字段)     
 16         
 17     
 18     //将每页要显示的数据放在list集合中
 19     private List list;
 20     
 21     //分页显示的页数,比如在页面上显示1,2,3,4,5页,start就为1,end就为5,这个也是算过来的
 22     private int start;
 23     private int end;
 24     
 25     //通过pageNum,pageSize,totalRecord计算得来tatalPage和startIndex
 26     //构造方法中将pageNum,pageSize,totalRecord获得
 27     public PageBean(int pageNum,int pageSize,int totalRecord) {
 28         this.pageNum = pageNum;
 29         this.pageSize = pageSize;
 30         this.totalRecord = totalRecord;
 31         
 32         //totalPage 总页数
 33         if(totalRecord%pageSize==0){
 34             //说明整除,正好每页显示pageSize条数据,没有多余一页要显示少于pageSize条数据的
 35             this.totalPage = totalRecord / pageSize;
 36         }else{
 37             //不整除,就要在加一页,来显示多余的数据。
 38             this.totalPage = totalRecord / pageSize +1;
 39         }
 40         //开始索引
            //this.startIndex = (pageNum-1)*pageSize ;
            
 42         //显示5页,这里自己可以设置,想显示几页就自己通过下面算法修改
 43         this.start = 1;
 44         this.end = 5;
 45         //显示页数的算法
 46 
 47         if(totalPage <=5){
 48             //总页数都小于5,那么end就为总页数的值了。
 49             this.end = this.totalPage;
 50         }else{
 51             //总页数大于5,那么就要根据当前是第几页,来判断start和end为多少了,
 52             this.start = pageNum - 2;
 53             this.end = pageNum + 2;
 54             
 55             if(start < 0){
 56                 //比如当前页是第1页,或者第2页,那么就不如和这个规则,
 57                 this.start = 1;
 58                 this.end = 5;
 59             }
 60             if(end > this.totalPage){
 61                 //比如当前页是倒数第2页或者最后一页,也同样不符合上面这个规则
 62                 this.end = totalPage;
 63                 this.start = end - 5;
 64             }
 65         }
 66     }
 67 //get、set方法。

service:

springboot整合freemarker分页_第1张图片

controller:

springboot整合freemarker分页_第2张图片

SQL语句:

springboot整合freemarker分页_第3张图片

ftl页面:

springboot整合freemarker分页_第4张图片

最后效果图:

springboot整合freemarker分页_第5张图片

你可能感兴趣的:(spring,boot)