springboot整合freemarker分页

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

使用Freemarker做的分页查询。

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

 public class PageBean<T> {
  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<T> 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:

controller:

SQL语句:

ftl页面:

最后效果图:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Freemarker是一种模板引擎,可以将数据和模板进行整合生成输出内容。SpringBoot提供了对Freemarker的支持,可以很方便地整合Freemarker。 1. 添加依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> ``` 2. 配置文件 在application.properties文件中添加以下配置: ```properties spring.freemarker.template-loader-path=classpath:/templates/ spring.freemarker.cache=false ``` - template-loader-path:模板文件的路径,这里设置为classpath:/templates/,表示在项目的classpath下的templates目录中查找模板文件。 - cache:是否开启模板缓存,这里设置为false,表示关闭缓存。 3. 创建模板文件 在classpath:/templates/目录下创建一个名为index.ftl的模板文件,内容如下: ```html <!DOCTYPE html> <html> <head> <title>SpringBoot整合Freemarker</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 4. 创建控制器 创建一个名为IndexController的控制器,代码如下: ```java @Controller public class IndexController { @RequestMapping("/") public String index(Model model) { model.addAttribute("message", "Hello, World!"); return "index"; } } ``` 该控制器中,使用@RequestMapping注解指定了请求路径为/,并将一个名为message的属性值设置为“Hello, World!”,然后返回了index作为视图名称。由于配置了spring.freemarker.template-loader-path=classpath:/templates/,所以SpringBoot会在classpath:/templates/目录下查找名为index的模板文件,并将模板文件中的${message}替换为“Hello, World!”。 5. 运行程序 启动应用程序,访问http://localhost:8080/,可以看到页面中显示了“Hello, World!”的字样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值