サイムリーフの繰り返しの使い方は何ですか?

Thymeleafでの繰り返し処理は、th:each属性を使用して実現されます。その構文形式は以下の通りです。

<th:block th:each="item : ${items}">
  <!-- 循环体 -->
</th:block>

th:each属性は、ループするコレクションや配列を指定するために使用され、itemは現在のイテレーション要素を指し、${items}はループするコレクションや配列の参照です。

ループ内では、Thymeleafの式言語(Expression Language)を使用してitemの属性を参照することができます。例えば、

<th:block th:each="item : ${items}">
  <p th:text="${item.name}"></p>
</th:block>

上記のコードでは、繰り返し処理されるコレクションや配列の各要素には、nameという属性があります。th:text属性を使用して、各要素のname属性の値を出力します。

Thymeleafは、コレクションや配列をループするだけでなく、Mapをループすることもサポートしています。その文法は以下の通りです:

<th:block th:each="entry : ${map}">
  <p th:text="${entry.key}"></p>
  <p th:text="${entry.value}"></p>
</th:block>

上記のコードでは、Mapをループしてentryというキーと値を持つオブジェクトを使用し、th:text属性を使って各entryのキーと値を出力しています。

さらにThymeleafは、現在のループの状態やインデックスを取得するためのいくつかの追加のループ変数も提供しています。例えば:

  1. インデックス:現在のループのインデックス、0から始まります。
  2. count:ループの現在のカウント、1から始まる。
  3. サイズ:走査されるコレクションや配列の大きさ。

以下はサンプルコードです。

<th:block th:each="item, index : ${items}">
  <p th:text="${index}"></p>
  <p th:text="${item}"></p>
</th:block>

上記のコードでは、item変数以外にも、現在のループのインデックス値を取得するためにindex変数も使用されています。

総じて、Thymeleafはth:each属性を使用して、コレクション、配列、またはMapを反復処理し、式言語を組み合わせて要素の属性や値を参照します。

bannerAds