-
th:if:用于检查一个条件是否为真,如果为真,则渲染包含该属性的标签及其内容。
<div th:if="${user.loggedIn}">Welcome back, user!</div>
如果
user.loggedIn
为true,则会渲染<div>
标签。 -
th:unless:与
th:if
相反,如果条件为假,则渲染包含该属性的标签及其内容。<div th:unless="${user.loggedIn}">Please log in to continue.</div>
如果
user.loggedIn
为false,则会渲染<div>
标签。 -
th:switch 和 th:case:用于更复杂的条件判断,可以根据不同的值渲染不同的内容。
<div th:switch="${user.role}"> <p th:case="'admin'">You are an admin.</p> <p th:case="'user'">You are a regular user.</p> <p th:case="*">You do not have a role.</p> </div>
根据
user.role
的值,会渲染相应的<p>
标签。 -
th:each:虽然主要用于循环,但也可以用来进行条件判断,因为它可以迭代一个条件为真的集合。
<ul> <li th:each="item : ${items}" th:if="${item.value > 10}"><span th:text="${item.name}"></span></li> </ul>
这会迭代
items
集合,但只会渲染那些value
属性大于10的项。 -
th:with:用于创建局部变量,通常与条件判断结合使用,以简化复杂表达式。
<th:block th:with="isAdmin=${user.role == 'admin'}"> <div th:if="${isAdmin}">Administrative options</div> </th:block>
th:with
创建了一个局部变量isAdmin
,然后th:if
使用这个变量来决定是否渲染<div>
标签。
在使用这些条件判断语句时,确保你的后端模型中包含了相应的数据,以便Thymeleaf可以正确地解析和执行这些条件。