@GetMapping("/each")
public String each(Model model) {
addUsers(model);
return "basic/each";
}
// model 을 매개변수로 받아 여러 mapping method 에서 호출해 사용될 수 있다.
private void addUsers(Model model) {
List<User> list = new ArrayList<>();
list.add(new User("UserA", 10));
list.add(new User("UserB", 20));
list.add(new User("UserC", 30));
model.addAttribute("users", list);
}
tr
= rowth
= column name (meta 정보)td
= dataindex
: Collection
”<h1>기본 테이블</h1>
<table>
<tr>
<th>username</th>
<th>age</th>
</tr>
<tr th:each="user : ${users}">
<td th:text="${user.username}">username</td>
<td th:text="${user.age}">0</td>
</tr>
</table>
index
, stat
: Collection
"⚠️ 보통 Collection 의 변수명에 s 가 붙는데,
index 변수는 s 를 제거하고,
stat 은 생략이 될경우 stat 을 변수명으로 사용 가능하다.
<tr th:each="user, userStat : ${users}">
<tr th:each="user : ${users}"> // stat 으로 userStat 처럼 사용 가능
<span th:text="${userStat.count}"></span>
<span th:text="${userStat.index}"></span>
<span th:text="${userStat.size}"></span>
<span th:text="${userStat.even}"></span> // 홀 == true
<span th:text="${userStat.odd}"></span> // 짝 == true
<span th:text="${userStat.first}"></span>
<span th:text="${userStat.last}"></span>