If-Else in a th:each statement in Thymeleaf
spring-mvc, thymeleaf
Solution
<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>
If `currentSkills` is a list, you can use the `#lists` utility like so (which is more correct than the above code since it also takes into account the possibility where the object is not null but is empty):
<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>
You could do the same if `currentSkills` is an array by just replacing `#lists` with `#arrays`.
Note that in both cases `isEmpty()` returns true whether the object is null or has zero items.
Problem
What I want is an if-else in a th:each statement in Thymeleaf. `If currentSkill != null`, then show table with content, else 'You don't have any skills' This is the code without the if/else: ``` <div th:each="skill : ${currentSkills}"> <table> <tr><td th:text="${skill.name}"/></tr> </table> </div> ```