我是thymeleaf
的新手,我想在相同的div.row
内显示3个具有相同索引的不同数组的3个值,我尝试了几种方法,但只能在一个数组上进行迭代没有错误的时间,下面是我的控制器端:
public String index(Model model) {
String[] table0 = {"0","1","2","3"}
String[] table1 = {"14","21","25","75"}
String[] table2 = {"7","63","57","87"}
model.addAttribute("table0", table0;
model.addAttribute("table1", table1);
model.addAttribute("table2", table2);
return "index";
}
在html文件中,table0
是第一个没有错误的迭代数组,我不知道如何编辑/改进以下代码以显示所有三个数组{{1 }},tables0
和tables1
:
tables3
答案 0 :(得分:2)
在这里您可以找到要搜索的内容,keeping iteration status
只需在对象之后添加一个var,然后使用index即可获取当前索引值
例如:
<div class="row" th:each="v0,iter : ${tables0}" >
<div class="cell" th:text="value">
<!-- Here I could display a value from tables0 -->
<span th:text="${v0}"></span>
</div>
<div class="cell" >
<span th:text="${table1[iter.index]}"></span>
</div>
<div class="cell" >
<span th:text="${table2[iter.index]}"></span>
</div>
</div>
答案 1 :(得分:1)
您可以使用Thymeleaf的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>
here描述了iterStat
函数-它基本上跟踪您的迭代。由于您希望每个表具有相同的索引,因此非常适合您的需求。