如果 - 其他在Thymeleaf中的每个陈述

时间:2014-05-19 12:31:46

标签: spring-mvc thymeleaf

我想要的是一个if-else in th:Thymeleaf中的每个陈述。

If currentSkill != null,然后显示包含内容的表格,否则'您没有任何技能'

这是没有if / else:

的代码
<div th:each="skill : ${currentSkills}">
    <table>
         <tr><td th:text="${skill.name}"/></tr>
    </table>
</div>

2 个答案:

答案 0 :(得分:14)

<div  th:if="${currentSkills != null}">
    <table>
         <tr th:each="skill : ${currentSkills}"><td th:text="${skill.name}"/></tr>
    </table>
</div>
<div th:if="${currentSkills == null}">
   You don't have any skills
</div>

如果currentSkills是一个列表,你可以像这样使用#lists实用程序(这比上面的代码更正确,因为它还考虑了对象不为null的可能性,但是空):

 <div  th:if="!${#lists.isEmpty(currentSkills)}">
    <table>
         <tr th:each="skill : ${currentSkills}"><td th:text="${skill.name}"/></tr>
    </table>
</div>
<div th:if="${#lists.isEmpty(currentSkills)}">
   You don't have any skills
</div>

如果currentSkills是一个数组,只需将#lists替换为#arrays,就可以执行相同操作。

请注意,在这两种情况下,isEmpty()都返回true,无论对象是null还是零项。

答案 1 :(得分:0)

您可以使用

<div  th:if="${!currentSkills.isEmpty()}">
    <table>
         <tr th:each="skill : ${currentSkills}"><td th:text="${skill.name}"/></tr>
    </table>
</div>