目录
th:classappend与th:disabled配合使用也很不错!
前言
本篇文章是介绍Thymeleaf模板相关的知识点,适合只会简单使用模板却不了解含义的人。读完此文将会恍然大悟,原来你与掌握只差一篇文章。
表达式
变量表达式:${}
后端:model.addAttribute("age",28); 前端:<span th:text="${sex}"></span>
用于国际化的#{}这里就不再叙述了
所有可用值表达式:*{}
等价于
链接表达式:@{}
可以写绝对路径也可以写相对路径。
片段表达式: ~{} (一般和模版布局的语法一起使用)
运算
${}
内部的是通过OGNL表达式引擎解析的,外部的才是通过Thymeleaf的引擎解析,因此运算符尽量放在${}
外进行。
支持的算术运算符:+ - * / %
支持的比较运算:>,
<,
>=,
<=,==,=
也可以使用别名:gt (>), lt (<), ge (>=), le (<=), not (!). Also eq (==), neq/ne (!=)
条件运算: 三元运算
遍历:th:each
<tbody>
<tr th:each="item:${list}">
<td th:text="${item.name}">项目名称</td>
<td th:text="${item.projectsNumber}">项目编号</td>
<td th:text="${item.costAmountBalance}">预算成本金额</td>
</tr>
</tbody>
可以遍历的类型:
-
Iterable,实现了Iterable接口的类
-
Enumeration,枚举
-
Interator,迭代器
-
Map,遍历得到的是Map.Entry
-
Array,数组及其它一切符合数组结果的对象
我们还可以在迭代的同时,获取迭代的状态对象
<ul th:each="item,itemStat:${projectStage.projectTasks}">
stat对象包含以下属性:
-
index,从0开始的角标
-
count,元素的个数,从1开始
-
size,总元素个数
-
current,当前遍历到的元素
-
even/odd,返回是否为奇偶,boolean值
-
first/last,返回是否为第一或最后,boolean值
th:classappend与th:disabled配合使用也很不错!
th:classappend="${item.isRead == 1 ? 'layui-btn-disabled' : ''}"
th:disabled="${item.isRead == 1 }"
有时候用${}表达式需要在外面加[[ ]]
<span>显示
[[${(page.number*page.size)+1}]]/[[${(page.number*page.size)+
page.numberOfElements}]] 条,
共 [[${page.totalElements}]] 条记录</span>
注意
当我们给标签属性赋值时,需要用到thymeleaf表达式时,对应的属性记得加上th:哦
thymeleaf有专门的注释,使用正常的html注释中如果有thymeleaf解析错误,还是会导致整个页面报错。。。。。。
结尾
thymeleaf真的太方便了,使用起来很是灵活,建议大家多参考官方文档学习!!!