thymeleaf中的条件判断用法

时间:2022-08-02 14:54:07

一.简单的条件:“if”和“unless”

  th:if用法实例:

<table>
<tr>
<th>NAME</th>
<th>PRICE</th>
<th>IN STOCK</th>
<th>COMMENTS</th>
</tr>
<tr th:each="prod : ${prods}" th:class="${prodStat.odd}? 'odd'">
<td th:text="${prod.name}">Onions</td>
<td th:text="${prod.price}">2.41</td>
<td th:text="${prod.inStock}? #{true} : #{false}">yes</td>
<td>
<span th:text="${#lists.size(prod.comments)}">2</span> comment/s
<a href="comments.html"
th:href="@{/product/comments(prodId=${prod.id})}"
th:if="${not #lists.isEmpty(prod.comments)}">view</a>
</td>
</tr>
</table>

如果值不是空:   

  1.如果一个布尔值,是true。  

  2.如果值是一个数字,非零 non-zero 

  3.如果是一个字符,非零值 non-zero 

  4.如果值是一个字符串,而不是“false”,“off” or “no”  

  5.如果值不是布尔,一个数字,一个字符或字符串。  

  (如果值是null,th:if将评估为false)。

th:unless用法:

<a href="comments.html"
th:href="@{/comments(prodId=${prod.id})}"
th:unless="${#lists.isEmpty(prod.comments)}">view</a>

二.switch用法:(th:switch / th:case)

<div th:switch="${user.role}">
<p th:case="'admin'">User is an administrator</p>
<p th:case="#{roles.manager}">User is a manager</p>
</div>

被指定为默认选项用th:case="*";相当于default,例如:

<div th:switch="${user.role}">
<p th:case="'admin'">User is an administrator</p>
<p th:case="#{roles.manager}">User is a manager</p>
<p th:case="*">User is some other thing</p>
</div>