在下一个条件的每个变量中设置变量Thymeleaf

时间:2018-07-08 14:51:36

标签: spring-boot thymeleaf

大家

我对Thymeleaf有问题,我尝试在for:each中设置变量“迭代器”。

默认情况下为“ iterator = 0;”但是,如果条件为true,则设置“ iterator + 1”,但即使条件为true,我的变量也始终为0。

我的下一个阻止条件需要这个“迭代器”,因为如果迭代器== 1,则我需要在视图中显示其他内容

在这里您可以看到我的代码:

 <div class="col-2"  th:each="t:${horaire.terrains}">
    <h2 th:text="${t.nomTerrain}"></h2>
    <table border="1px"  >

        <tr  th:each="h,index : ${heures.subList(0,15)}"   >

            <td>

       <th:block th:each="resa:${reservations}"  
   th:if="${resa.dateReservation eq date && resa.heureDebut eq h}">


               <a>reserve</a>

           <p th:with="iterator=${iterator+1} "></p>
           <!--<p th:text="${iterator}"></p>-->

       </th:block>

                <th:block th:if="${iterator eq 0 }">



                    <a th:text="${h}" th:href="@{addResa(heure=${h} , 
                   terrain=${t.id} ,date=${date},date2=${index.index+1}, 
                listeHeures = ${heures} )}"></a>
                </th:block>


            </td>
        </tr>

        <!--<a th:text="${h}" th:href="@{addResa(heure=${h} , terrain=${t.id} 
        ,date=${date},date2=${index.index+1}, listeHeures = ${heures} )}"> 
       </a>-->


    </table>
</div>

在这里,在我的控制器中,您可以看到变量迭代器:

    int iterator=0;

    model.addAttribute("iterator",iterator);

1 个答案:

答案 0 :(得分:0)

在控制器模型中需要设置迭代器变量值是什么。

为什么不能在下面使用

Thymeleaf th:each允许您声明迭代状态变量

然后在循环中,您可以引用iter.indexiter.size

请参见http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#keeping-iteration-status