web-dev-qa-db-fra.com

Itérer avec l'index à l'aide de thymeleaf

Je suis nouveau sur thymeleaf et je convertis tout mon code jsp en thymeleaf.Je ne sais pas comment convertir ce code ci-dessous en thymeleaf.Quelqu'un sait-il comment convertir le code ci-dessous en thymeleaf?

<logic:iterate id="id" property="idList" name="sampleForm" indexId="i">
    <label for="id<%=i%>">
      <bean:write name="id" property="id" />
    </label>
</logic:iterate>

Veuillez me dire comment initialiser la valeur d'index dans thymeleaf à utiliser dans certaines valeurs ??

<label th:each="id,status : ${idList}" th:for="|id${status.index}|" th:text="${id.id}"></label>
  • th:each parcourra le idList, affectera chaque élément à id et créera un label pour chaque élément. Le statut de l'élément peut être attribué en ajoutant un nom supplémentaire, séparé par une virgule (status dans cet exemple).
  • th:for définira l'attribut for de l'étiquette. Les tuyaux (|) sont utilisés pour faciliter la concaténation de chaînes.
  • th:text définira le texte interne de l'étiquette sur l'ID.
18
Tom Verelst

Vous pouvez également l'utiliser comme ceci:

<label th:each="id : ${idList}" th:for="${'id' + idStat.index}" th:text="{id.id}">

Cela démarre l'index à partir de 0

Si vous souhaitez démarrer l'index à partir de 1, utilisez ce

<label th:each="id : ${idList}" th:for="${'id' + idStat.count}" th:text="{id.id}">

Consultez la documentation Thymeleaf

1
haschibaschi