여씨의 개발이야기

[Thymeleaf 입문] 반복문에서 행 번호를 입력하고 싶을 때 본문

🐾 Programming Lang/🍃 Thymeleaf

[Thymeleaf 입문] 반복문에서 행 번호를 입력하고 싶을 때

yeossi 2022. 10. 25. 17:25

사내 프로젝트를 진행하던 중에, Thymeleaf 반복문을 이용해 작업하던 중에 행 번호를 넣어줘야하는 경우가 생겼다. 쿼리나 백단에서가 아닌 Thymeleaf에서 제공하는 기능으로 행 번호를 입력할 수 있지 않을까 하는 생각이 문득 들었다.

Thymeleaf에서 반복문을 사용하는 방법으로는 th:each 속성이 있다. <html 태그 th:each="variable : ${list}">같은 방식으로 사용하며 ${list}로 받은 것을 variable을 통해 하나씩 가져온다. 여기에 th:each의 두 번째 파라미터로 stat을 설정해서 반복의 상태를 확인할 수 있다. (파라미터명을 생략하는 경우에는 variableStat이 Default 값이 된다.)

stat에는 여러가지 기능이 있다.
- stat.index : 0부터 시작
- stat.count : 1부터 시작
- stat.current : 현재 객체 정보
- stat.even : 짝수번 데이터 여부
- stat.odd : 홀수번 데이터 여부
- stat.first : 첫번째 데이터 여부
- stat.last : 마지막 데이터 여부

예제는 아래와 같다.

<tr th:each="example, stat : ${exampleList}">
    <td th:text="${example.test1}"></td>
    <td th:text="${example.test2}"></td>
    <td th:text="|${stat.index}|"></td> <!-- 0부터 시작 -->
    <td th:text="|${stat.count}|"></td> <!-- 1부터 시작 -->
</tr>

 

Comments