web-dev-qa-db-ja.com

thymeleafを使用してインデックスで反復する

私はthymeleafを初めて使用し、すべてのjspコードをthymeleafに変換しています。以下のコードをthymeleafに変換する方法がわかりません。以下のコードをthymeleafに変換する方法を知っている人はいますか?

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

いくつかの値で使用されるthymeleafのインデックス値を初期化する方法を教えてください。

<label th:each="id,status : ${idList}" th:for="|id${status.index}|" th:text="${id.id}"></label>
  • th:eachidListを反復処理し、各アイテムをidに割り当て、各アイテムにlabelを作成します。アイテムのステータスは、カンマで区切られた名前(この例ではstatus)を追加して割り当てることができます。
  • th:forは、ラベルのfor属性を設定します。パイプ (|)は、簡単な文字列連結に使用されます。
  • th:textは、ラベルの内部テキストをIDに設定します。
18
Tom Verelst

次のように使用することもできます。

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

これはインデックスを0から開始します

インデックスを1から開始する場合は、これを使用します

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

Thymeleafのドキュメントをチェックしてください

1
haschibaschi