关于Thymeleaf的表达式


什么是Thymeleaf

Thymeleaf是一个既可以应用在web项目,也可以应用在非Web项目的服务端的Java模板引擎,具有动静结合、多表达式支持、受springboot支持的特点,今天的主要目的就是来阐述关于它的表达式的事。
它总共提供四种表达式。


一、${} 表达式

${}这个能直接获取Model字符串的属性值,也可以获取对象的属性。也可以用 . 来表示属性的关系。
看个例子:

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

这个就表示emp的name属性

二、*{} 表达式

算是另一种方式的简化

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

可以看到这个例子,th:object指定对象,
而*{} 则可以直接代指该对象的属性,某种程度上的优化吧。

三、@{}表达式

这个表达式的作用就是拼接路径,看了例子就熟悉了,

<a th:href="@{/index}">点击</a>
<a th:href="/index">点击</a>

效果一样都是跳转到index下,但是如果打包成war包,则@{}表达式会在URL中加上项目名,这是自己需要注意的地方。

<a th:href="@{/index(userId=1)}">点击</a>
<a th:href="/index?userId=1">点击</a>

效果是一样的,都代表带一个userId=1的参数。
还有就是针对多参数的拼接,你可以看下使用@{}和不使用@{}的区别:

<a th:href="@{/index(userId=1,age=20)}">点击</a>
<a th:href="/index?userId=1&age=20">点击</a>

可以看到这两者存在较大的区别


四、#{}表达式

这个基本上用不到,据说用于读取国际化properties文件的属性

总结

这是一片随笔,记录自己想搞懂的点,也希望能帮到看到的人。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值