Issue
I can not find syntax for building simple for-each-loop in Thymeleaf
template.
I'm not satisfied with just th:each=""
attribute, because it copies the tag in which it's located.
What I'm looking for is something like:
<th:foreach th:each="...">
...block to be repeated...
</th>
what is an analogue of <c:forEach items="..." var="...">
or <t:loop source="..." value="...">
in Tapestry
. Is anything similar for that?
Solution
Use th:block
as stated in the Thymeleaf guide
th:block
is a mere attribute container that allows template developers to specify whichever attributes they want. Thymeleaf will execute these attributes and then simply make the block disappear without a trace.
So it could be useful, for example, when creating iterated tables that require more than one <tr>
for each element:
<table>
<th:block th:each="user : ${users}">
<tr>
<td th:text="${user.login}">...</td>
<td th:text="${user.name}">...</td>
</tr>
<tr>
<td colspan="2" th:text="${user.address}">...</td>
</tr>
</th:block>
</table>
Answered By - ekem chitsiga
Answer Checked By - Marilyn (JavaFixing Volunteer)