Вы можете использовать Thymeleaf's iterStat
для этого.
Предполагая следующие входные данные:
String[] table0 = {"0", "1", "2", "3"};
String[] table1 = {"14", "21", "25", "75"};
String[] table2 = {"7", "63", "57", "87"};
Вы можете использовать следующую разметку Thymeleaf:
<div class="row" th:each="val,iterStat : ${table0}" >
<div class="cell" th:text="${val}">
</div>
<div class="cell" th:text="${table1[iterStat.index]}">
</div>
<div class="cell" th:text="${table2[iterStat.index]}">
</div>
</div>
Это создает столбец чисел следующим образом (у меня нет CSS, так что это просто необработанный вывод):
0
14
7
1
21
63
2
25
57
3
75
87
Соответствующий html выглядит следующим образом:
<div class="row">
<div class="cell">0</div>
<div class="cell">14</div>
<div class="cell">7</div>
</div>
<div class="row">
<div class="cell">1</div>
<div class="cell">21</div>
<div class="cell">63</div>
</div>
<div class="row">
<div class="cell">2</div>
<div class="cell">25</div>
<div class="cell">57</div>
</div>
<div class="row">
<div class="cell">3</div>
<div class="cell">75</div>
<div class="cell">87</div>
</div>
Функция iterStat
описана здесь - она в основном отслеживает ваши итерации. Поскольку вам нужен одинаковый индекс для каждой таблицы, он хорошо подходит для ваших нужд.