【Spring Boot 3】Thymeleaf 使用详解
在上一节中,我们已经创建了一个简单的Spring Boot项目并配置了Thymeleaf模板引擎。在这一节中,我们将介绍如何在Thymeleaf模板中使用常用的Thymeleaf标签和表达式。
- 变量表达式:
在Thymeleaf中,变量表达式使用${}
包围。例如,如果你想在模板中显示一个控制器传递的消息,你可以这样写:
<p th:text="${message}">Hello, World!</p>
- 选择变量表达式:
*{}
语法是选择变量表达式,它用于选择被th:object绑定对象的属性。例如:
<div th:object="${user}">
<p>Name: <span th:text="*{name}">Unknown</span></p>
<p>Email: <span th:text="*{email}">unknown@example.com</span></p>
</div>
- 消息表达式:
#{}
是消息表达式,用于获取国际化消息。例如:
<p th:utext="#{welcome.message}">Welcome to our application!</p>
- 链接表达式:
@{}
用于创建URLs。例如:
<a th:href="@{/order/list}">Orders</a>
- 片段表达式:
~{}
用于模板片段。例如,可以包含一个公共的页脚片段:
<div th:insert="~{footer :: footer}"></div>
- 条件表达式:
if/unless
用于条件渲染。例如:
<p th:if="${user.isLoggedIn()}">Welcome, member!</p>
<p th:unless="${user.isLoggedIn()}">Welcome, guest!</p>
- 循环表达式:
th:each
用于循环。例如:
<tr th:each="prod : ${prods}">
<td th:text="${prod.name}">Product name here</td>
<td th:text="${prod.price}">Product price here</td>
</tr>
- 字面量:
Thymeleaf支持字符串、数字、布尔值和null字面量。例如:
<p th:text="'Let\'s go!'">Text here</p>
<p th:text="2019">Number here</p>
<p th:text="true">Boolean here</p>
<p th:text="null">Null here</p>
以上是Thymeleaf的基本用法,这些表达式可以在HTML模板中使用,以实现动态内容的渲染。
评论已关闭