Thymeleaf语法基础

Thymeleaf语法基础

文本标签 :

 th:text  /   th:utext
	th:text 进行文本替换 不会解析html
	th:utext 进行文本替换 会解析html

字符串连接:

拼接字符串通过 + 或者 | 进行拼接

*{}和 ${}表达式

正常情况下 *{…} 和 ${…}是一样的,但是 *{…} 一般和 th:object 进行一起使用来完成对象属性的简写。

使用${}操作方式

  <p th:text="${user.name}">
  </p><p th:text="${user.age}"></p>

使用*{}操作方式

  <div th:object="${user}">
	<p th:text="*{name}"></p>
	<p th:text="*{age}">
  </div>
  

@{…}链接网址表达式

一般和 th:href、th:src进行结合使用,用于显示Web 应用中的URL链接。
通过@{…}表达式Thymeleaf 可以帮助我们拼接上web应用访问的全路径,
同时我们可以通过()进行参数的拼接

<img src="@{/static/images/xx.png}"/>

<a href="@{/user(id=${user.id})}">查看</a>

条件判断

th:if / th:unless
th:if 当条件为true则显示。

th:unless 当条件为false 则显示。

<p th:if="${flag}">if判断</p>

显示结果为

<p>判断</p>
<p th:unless="!${flag}">unless判断</p>

显示结果为

<p>unless判断</p>

Switch

th:switch 我们可以通过switch来完成类似的条件表达式的操作。

<div th:switch="${user.name}">
	<p th:case="zhangsan">user is zhangsan</p>
	<p th:case="lisi">user is lisi</p>
</div>

for循环

th:each 遍历集合

<tr th:each="user:${userList}" th:class="${userStat.odd}?'odd'">
	<td th:text="user.name"></td>
	<td th:text="user.age"></td>
</tr>
我们可以通过便利的变量名+Stat 来获取索引 是否是第一个或最后一个等。
便利的变量名+Stat称作状态变量,其属性有:
index:当前迭代对象的迭代索引,从0开始,这是索引属性;
count:当前迭代对象的迭代索引,从1开始,这个是统计属性;
size:迭代变量元素的总量,这是被迭代对象的大小属性;
current:当前迭代变量;
even/odd:布尔值,当前循环是否是偶数/奇数(从0开始计算);
first:布尔值,当前循环是否是第一个;
last:布尔值,当前循环是否是最后一个

Elvis运算符

Elvis运算可以理解成简单的判断是否为null的三元运算的简写,
如果值为nullzhe显示默认值,如果不为null 则显示原有的值。

<p th:text="${user.name}?'姓名为空'"></p>

如果没有获取到name值得话,那么结果为:
<p>姓名为空</p>

三元表达式

我们可以在thymeleaf 的语法中使用三元表达式 具体使用方法是在th:xxx 中通过 表达式?1选项:2选项

内联

如何使用内连操作

我们可以通过 在父标签声明 th:inline=“text” 来开启内联操作。
当然如果想整个页面使用可以直接声明在body上即可。具体使用方式如下面代码所示
<div th:inline="text">
<p>hello,[[${user.name}]]</p>
</div>

等同于

<p th:text="${user.name}"></p>

JavaScript内联

如果我们想在JavaScript 中使用内联操作,需要在 script 标签上声明
th:inline=“javascript” 然后我们就可以 script 标签中使用内联操作了。
具体使用方式如下面代码所示。

	<script th:inline="javascript">
		var username = [[${user.name}]]
	</script>

模板布局

预定义的工具对象

dates

处理日期数据 生成,转换,获取日期的具体天数 年数

dates.format

<span th:text="${#dates.format(date, 'yyyy-MM-dd HH:mm')}"></span>

dates.listFormat

<p th:text="${#dates.listFormat(datesList, 'dd/MMM/yyyy HH:mm')}"></p>

dates.day

<p th:text="${#dates.day(date)} "></p>

dates.month

<p th:text="${#dates.month(date)}"></p>

dates.monthName

<p th:text="${#dates.monthName(date)}"></p>

dates.monthNameShort

<p th:text="${#dates.monthNameShort(date)} "></p>     

dates.year

<p th:text="${#dates.year(date)}"></p>

dates.dayOfWeek

<p th:text="${#dates.dayOfWeek(date)}"></p>      

dates.dayOfWeekName

<p th:text="${#dates.dayOfWeekName(date)}"></p> 

dates.dayOfWeekNameShort

<p th:text="${#dates.dayOfWeekNameShort(date)}"></p>

dates.hour

<p th:text="${#dates.hour(date)}"></p>

dates.minute

<p th:text="${#dates.minute(date)}"></p>

dates.second

<p th:text="${#dates.second(date)}"></p>

dates.millisecond

<p th:text="${#dates.millisecond(date)} "></p>

dates.createNow

<p th:text="${#dates.createNow()}"></p>

dates.create

<p th:text="${#dates.create('2019','05','30')}"></p>
<p th:text="${#dates.create('2019','05','31','10','18')}"></p>
<p th:text="${#dates.create('2019','05','30','10','18','34')}"></p>

dates.createToday

<p th:text="${#dates.createToday()}"></p>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值