반복, 조건식

HYUNBIN CHO·2021년 7월 11일
0

thymeleaf

목록 보기
5/7
post-thumbnail

🔷 반복 th:each

🔹 반복하기

🔸 <th:each "변수명 : ${컬렉션}"> -> 컬렉션에서 하나씩 값을 꺼내서 변수에 담는 작업을 반복.
🔸 반복문을 사용할 때는 List, 배열, Iterable, Enumeration, Map을 구현한 객체에 사용할 수 있다.

<tr>
    <th>username</th>
    <th>age</th>
</tr>
<tr th:each="user : ${userList}">
    <td th:text="${user.username}">username</td>
    <td th:text="${user.age}">0</td>
</tr>

🔹 반복상태 유지

🔸 두번째 파라미터를 설정하면 반복 상태를 확인할 수 있다.
🔸 <th:each="user, userStat : ${userList}">
🔸 두번째 파라미터를 생략해도 '[변수명] + [Stat]'로 반복 상태를 확인 할 수 있다.

<tr>
    <th>count</th>
    <th>username</th>
    <th>age</th>
    <th>etc</th>
</tr>
<tr th:each="user, userStat : ${userList}">
    <td th:text="${userStat.count}">count</td>
    <td th:text="${user.username}">username</td>
    <td th:text="${user.age}">age</td>
    <td>
        index = <span th:text="${userStat.index}"></span> // 인덱스값(0~)
        count = <span th:text="${userStat.count}"></span> // 1부터 시작
        size = <span th:text="${userStat.size}"></span> // 전체 크기
        even = <span th:text="${userStat.even}"></span> // 짝수(boolean)
        odd = <span th:text="${userStat.odd}"></span> // 홀수(boolean)
        first = <span th:text="${userStat.first}"></span> // 처음(boolean)
        last = <span th:text="${userStat.last}"></span> // 마지막(boolean)
        current = <span th:text="${userStat.current}"></span> // 현재 객체 정보
    </td>
</tr>

🔷 조건식 th:if, th:unless

🔹 if, unless

🔸 타임리프는 조건에 맞지 않으면 해당 태그를 렌더링을 하지 않는다.

<tr th:each="user : ${userList}">
  <td th:text="${userStat.count}">1</td>
  <td th:text="${user.username}">username</td> <td>
    <span th:text="${user.age}">0</span>
    <span th:text="'성인'" th:if="${user.age gt 20}"></span> 
    <span th:text="'성인'" th:unless="${user.age le 20}"></span>
  </td>
</tr>

🔹 switch

<tr th:each="user : ${userList}">
  <td th:text="${userStat.count}">1</td>
  <td th:text="${user.username}">username</td> 
  <td th:switch="${user.age}">
    <span th:case="10">10</span>
    <span th:case="20">20</span>
    <span th:case="*">기타</span> // '*' : default값
  </td>
</tr>





https://www.inflearn.com/course/스프링-mvc-2/

profile
백견이 불여일타

0개의 댓글