thymeleafとeachメソッド
今回のお題
本日のお題は、"Thymeleaf内でeachメソッドを使う方法"です。
eachメソッドという言い方をするのかはわかりませんが、要は要素を全て展開する方法ということですね。
コード例
論より証拠ということで、実際の使用例を見てみましょう。
あるクラスの生徒全員を要素として持つstudentsというMap(キーが出席番号でバリューが生徒名)に対して、その中から1人を選ぶチェックボックスを作成することを想定しています。
<div th:each="item:${students}">
<input type="radio" name="student" th:value="${item.key}" th:id="${item.value}">
<label th:for="${item.value} th:text="${item.value}"></label>
</div>
th:each="item:${students}"
div要素のeach属性としてstudentsというMapを指定し、その要素をitemという変数に入れて順番に展開しています。
こうすることで、div要素とその子要素がitemの数だけ繰り返されます。
また、itemの中身はitem.valueと$item.keyでそれぞれ取得可能です。