在Thymeleaf中如何if-else?

怎样做一个简单的最好办法if- else在Thymeleaf?

我想在Thymeleaf中实现与

<c:choose>

<c:when test="${potentially_complex_expression}">

<h2>Hello!</h2>

</c:when>

<c:otherwise>

<span class="xxx">Something else</span>

</c:otherwise>

</c:choose>

在JSTL中。

到目前为止,我发现:

<div th:with="condition=${potentially_complex_expression}" th:remove="tag">

<h2 th:if="${condition}">Hello!</h2>

<span th:unless="${condition}" class="xxx">Something else</span>

</div>

我不想评估potentially_complex_expression两次。这就是为什么我引入局部变量的原因condition。仍然我不喜欢同时使用th:if="${condition}th:unless="${condition}"

重要的是,我使用了两个不同的HTML标签:假设h2span

您能建议一种更好的方法吗?

回答:

Thymeleaf具有<c:choose>与Thymeleaf 2.0中引入的and

<c:when>th:switchth: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>

<p th:case="*">User is some other thing</p>

</div>

见这个语法简单的解释(或Thymeleaf教程)。

免责声明 :根据StackOverflow规则的要求,我是Thymeleaf的作者。

以上是 在Thymeleaf中如何if-else? 的全部内容, 来源链接: utcz.com/qa/435915.html

回到顶部