ognl表达式:
${}:用来获取model中的变量
指令:
th:text 可防止html注入
th:utext 会解析html
th:insert/th:replace 片段插入
th:attr 取出一个值赋给一个属性
th:each 迭代
获取一个user对象的属性可用
1.th:text="${user.name}"
你好:<span th:text="${user.name}">清风</span>
2.th:object="${user}",然后*{name}获取name属性
<h5 th:object="${user}">
你好:<span th:text="*{name}">清风</span>
<span th:text="*{age}">17</span>
</h5>
Thymeleaf提供的全局对象
对象 作用
#dates 处理java.util.date的工具对象
#calendars 处理java.util.calendar的工具对象
#numbers 用来对数字格式化的方法
#strings 用来处理字符串的方法
#bools 用来判断布尔值的方法
#arrays 用来护理数组的方法
#lists 用来处理List集合的方法
#sets 用来处理set集合的方法
#maps 用来处理map集合的方法
字面值
字符串
<span th:text="'thymeleaf'">template自福泉常量值</span>
数字
<span th:text="2020">2020</span>
布尔
<div th:if="true">
true
</div
运算
算术运算
比较运算
gt(>) lt(<)
ge(>=) le(<=)
not(!) neq/ne(!=)
条件运算
三元运算:<span th:text="${user.sex} ? '男':'女'"></span>
循环
th:each指令
<tr th:each="user:${user}">
<td th:text="${user.name}" >a</td>
</tr>
标准表达式语法
变量表达式 ${…}
选中变量表达式 *{…}
消息表达式 #{…} 允许我们连接内容
链接url表达式 @{…}
片段表达式 ~{…}
模板布局
使用th:fragment属性定义碎片
<div th:fragment="copy">
©2020
</div>
//使用
<div th:insert="~{footer::copy}"></div>
<div th:insert="footer::copy"></div>
th:insert和th:replace之间的区别
th:insert是最简单的,它简单的插入指定的片段作为标记的主体
th:replace指定的片段取代了标记
th:remove可以表现在五个不同的方式
all:同时删除包含标签机器所有子项
body:不要删除含有标记,但删除其所有的孩子
tag:删除包含标记,但不要删除它的孩子
all-but-first:删除包含被标记的所有孩子,除了第一个
none:没做什么
表达内联
[[…]]或[(…)] 也是有效的th:text或th:utext属性
js的内联
<script th:inline="javascript">
const user = /*[[${user}]]*/ {};
const name= /*[[${user.name}]]*/ "lx";
</script>
1.在script标签中通过th:inline="javascript"来声明这是要特殊处理的js脚本
2.语法;/[[Thymeleaf表达式]]/ “静态环境的值”;