개발천재

[Spring Boot] Thymeleaf, 반복문에서 index 보여주기, stat 본문

개발 준비/Spring Boot

[Spring Boot] Thymeleaf, 반복문에서 index 보여주기, stat

세리블리 2025. 2. 21. 21:47
반응형

Thymeleaf에서 표(table)를 만들어서 반복문(each)을 이용해 데이터를 리스트로 출력하는 경우, 각 행(row)에 고유한 번호(인덱스)를 표시하고 싶을 때가 있다. 그때 사용하는 것이 stat이다.

 


 

 

stat 이용하기

th:each="quiz, stat : ${quizList}" 는quiz를 반복하며 각 항목을 quiz에 담고, stat에 반복 상태를 저장한다. stat.index를 입력하여 현재 반복의 0부터 시작하는 index 값을 반환하게 한다. 1부터 시작하는 번호를 표시하려면 stat.index 옆에 +1을 입력한다.

 

stat.count를 사용하면 별도의 계산 없이 1부터 시작하는 번호를 사용할 수 있다.

<table>
  <thead>
  <tr>
    <td>No</td>
    <td>내용</td>
    <td>정답</td>
    <td>수정</td>
    <td>삭제</td>
  </tr>
  </thead>
  <tbody>
  <tr th:each="quiz, stat : ${quiz}">
    <td th:text="${stat.index + 1}"></td>
    <td th:text="${quiz.content}"></td>
    <td th:text="${quiz.answer ? 'O' : 'X'}"></td>
    <td>
      <a th:href="@{/admin/update/{no}(no=${quiz.no})}"><button>수정</button></a>
    </td>
    <td>
      <a th:href="@{/admin/delete/{no}(no=${quiz.no})}"><button>삭제</button></a>
    </td>
  </tr>
  </tbody>
</table>

 

 


 

stat 객체의 속성들

Thymeleaf의 반복 상태 변수(stat)는 다음과 같은 속성을 제공한다.

속성 설명
index 0부터 시작하는 인덱스
count 1부터 시작하는 인덱스
size 리스트의 전체 크기
first 첫 번째 요소일 경우 true
last 마지막 요소일 경우 true
even 짝수 번째 요소일 경우 true
odd 홀수 번째 요소일 경우 true

















반응형