【SpringBoot】Thymeleaf

Thymeleaf简介

  1. Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 Thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。
  2. Thymeleaf 开箱即用的特性。它提供标准和 Spring 标准两种方言,可以直接套用模板实现 JSTL、 OGNL表达式效果,避免每天套模板、改 Jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。
  3. Thymeleaf 提供 Spring 标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

Thymeleaf的使用

  1. SpringBoot自带Thymeleaf,其他时候可通过添加依赖导入Thymeleaf

    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf</artifactId>
        <version>3.0.7.RELEASE</version>
    </dependency>
    
  2. 在html页面的<html>标签中添加xmlns:th="http://www.thymeleaf.org

常用标签

  1. #{} 取静态配置属性

  2. ${} 取动态资源属性

  3. th:text 将内容输出到标签体中,可用[[ ]]代替

  4. th:href 相当于动态生成href属性

  5. th:if 用于判断条件,还可以多条件 and,or(二元操作符),!,not非(一元操作符)

  6. th:unless 用于判断条件,与th:if作用相反

  7. th:switchth:case 用于多个同等级相同目的判断,多选一时使用

th:case需要在子便签中

  1. th:each 用于遍历集合中的对象,相当于jstl中的<c:forEach>标签
    示例:
    <tr th:each="user,userStat:${messages.list}">
    <td th:text="${user.name}"></td>
        <td th:text="userStat.index"></td>
    </tr>
    

说明:

其中的user是临时变量,相当于for(User user : users)中的user,userStat称为状态变量,属性有
index:当前迭代对象的index(从0开始计算);
count: 当前迭代对象的index(从1开始计算);
size:被迭代对象的大小;
current:当前迭代变量;
even/odd:布尔值,当前循环是否是偶数/奇数(从0开始计算);
first:布尔值,当前循环是否是第一个;
last:布尔值,当前循环是否是最后一个。

  1. th:value 用于属性赋值

  2. th:action 用于定义后台控制器的路径,表单的提交地址,相当于标签的action属性

  3. 可以在标签中使用三目表达式

  4. th:fragment 用于定义模版,配合th:insert="页面名 :: 片段id"使用,可在页面中引入模版,简化开发

内置对象

  1. #dates - 日期格式化对象
  2. #numbers - 数字格式化对象
  3. #Strings - 字符串格式化对象
  4. #lists - list集合格式化对象
  5. #sets - set格式化对象
  6. #maps - map格式化对象

参考

纯洁的微笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值