迭代列表中的列表并显示在表

时间:2017-12-13 09:29:53

标签: java thymeleaf

我在列表中有一个列表,它看起来像:

List<List<Integer>> coverage

在我的控制器中,我将它交给模特。 在我的模板中,我想遍历列表中的整数列表,并在1表中显示。

<table class="table table-hover table-bordered">
    <tr>
        <td class="table-colspan" colspan="1" >1</td>
        <td class="table-colspan" colspan="1" >2</td>
        <td class="table-colspan" colspan="1" >3</td>
        <td class="table-colspan" colspan="1" >4</td>
        <td class="table-colspan" colspan="1" >Total</td>
        <td class="table-colspan" colspan="1" >6</td>

    </tr>
    <tr class="title-tr" th:each="list : ${coverage}">
        <tr class="title-tr" th:each="r, iterationStatus : ${list}">
            <tr th:text="${r}"></tr>
            <td th:text="${r}" ></td>
            <td th:text="${r}"></td>
            <td th:text="${r}"></td>
            <td th:text="${r}"></td>
            <td th:text="${r}"></td>
        </tr>
    </tr>
</table>

我首先遍历列表以获取每个List<Integer> 在此之后,我遍历List<Integer>本身来查看整数。 但是List<Integer>中的每个整数都有自己的行。所以List<Integer>中的第一个整数出现了6次。

我该如何解决这个问题?

我希望我的情况足够清楚,否则我会提供更多信息。提前谢谢。

1 个答案:

答案 0 :(得分:4)

问题是您尝试将tr标记包含在其他tr标记内。如果要遍历列,请将其更改为:

<tr class="title-tr" th:each="list : ${coverage}">
   <td th:each="r, iterationStatus : ${list}" th:text="${r}">
   </td>
</tr>

P.S。因为我不太清楚你想要实现什么,只需另一个提示:如果你想要遍历tr,请使用th:block包装而不是包含tr到另一个tr

   <th:block th:each="list : ${coverage}"> 
       <tr th:each="r : ${list}"> ... </tr>
   </th:block>