freemarker整合SpringBoot(三)——分页

前言

本文章主要是针对view层的分页,不涉及数据库部分的描述。分页是很多查询中需要用到的功能,所以复用性很强,前端分页可以做成一个组件来实现。freemarker可以通过macro指令实现自定义标签,通过自定义标签实现组件复用。

macro指令的简单介绍

自定义标签,可以包含标签名,参数,通过macro指令实现

<#macro name param1 param2 ... paramn>
  标签中要实现的功能 // 在freemarker的预定义标签或自定义标签中可以直接使用传进来的参数,在标签外使用${param1},来获取参数值
<#macro>

通过使用<@name param1 param2 paramn>/@name的方式调用自定义标签
当在定义体中加入<#nested/>时,可以将使用体中的内容嵌套进去
例如:

<!-- 定义自定义标签 -->
<#macro list count >
    <#list 1..count as x>
        <#nested x, x/2, x==count>
    </#list>
    <li><span>结束</span></li>
    <#return />
    <li><span>已结束</span></li>
</#macro>
<!-- 自定义标签的使用 -->
<@list count = 4; c, halfc, last>
    ${c}: ${halfc} <#if last==c>last!</#if>
</@list>

显示结果:

  1. 0.5
  2. 1
  3. 1.5
  4. 2 last!

分页组件的实现

后台

PageParam

  • 封装查询参数
  • pn
    • 当前页
  • pageSize
    • 每页显示记录数

PageVO

  • 封装返回参数

    这里之所以用了page和pn是为了适配不同的组件,可忽略

Controller


由于没有使用数据库,只是将一些数据放到了.json文件中。主要是通过PageVo将分页信息携带回前端。

静态化模板

模板位置

分页组件的使用

下面两个是自定义的分页标签

pageSizeButtons
  • 标签名name
    • pageSizeButtons
  • 参数
    • param1
      • pageSize
        • 每页记录数
    • param2
      • totalNums
        • 总记录数
    • param3
      • “xx.html”
        • 后台请求路径
组件定义
<#macro pageSizeButtons pageSize totalNums url>
    中间是功能实现
</#macro>

在这里插入图片描述

效果

在这里插入图片描述

参考:freemarker文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

future_1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值