Официальный документ Thymeleaf 2.1.4 демонстрирует использование for each, как показано ниже:
<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>
...
</tr>
Он генерирует один <tr> на каждой итерации, что идеально подходит для этой ситуации. Однако в моем случае мне не нужен внешний тег (здесь <tr>).
Мой вариант использования заключается в создании тега <bookmark> рекурсивным способом, никакие другие теги не включаются, а тег <bookmark> должен содержать имя и атрибут href.
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<body>
<div th:fragment="locationBookmark(location)">
<bookmark th:each="map : ${location.subMaps}">
<bookmark th:name="${map.name}"
th:href="'#'+${map.id}" th:include=":: locationBookmark(${map})">
</bookmark>
</bookmark>
</div>
</body>
</html>
включающая сторона:
<bookmark th:include="bookmark : locationBookmark(${rootLocation})"/>
Большое спасибо.