Thymeleaf에서 반복문 사용 및 index 값 사용하기

주의

이 문건은 과거 Hexo 블로그 (2018-02-18) 에서 이동된 문서입니다.

시간이 지남에 따라 최신 기술과 다를 수 있으니 주의 바랍니다.



Thymeleaf에서 반복문 그리고 index 사용하기

thymeleaf에서 table 태그와 같이 안의 셀 내용을 반복적으로 표시해야 하는 경우(대표적으로 게시판이 있죠?)에 for와 같은 loop를 사용하게 됩니다.

<tbody>
  <tr th:each="dto : ${report.getLightFileDtoList()}">
    <td th:text="${dto.getByteSize()}"></td>
  </tr>
</tbody>

위의 예제와 같이 사용을 합니다.
그런데 이렇게 loop식으로 사용하는 것 외에도 특정 반복 인덱스에서 무언가 작업 처리를 해야 할 때가 있습니다.
그런 경우 다음의 예제와 같이 사용합니다.

<tr th:each="fInClient,index : ${factory.getFactoryClientList()}">
  <td>
    <input
      type="text"
      class="form-control"
      id="client_name_0"
      th:value="${fInClient.getName()}"
    />
  </td>
  <td>
    <th:block th:if="${index.index} > 0">
      <button type="button" class="btn btn-danger">
        <i class="fa fa-minus"></i>
      </button>
    </th:block>
  </td>
</tr>

<tr></tr>

첫 번째 인자는 each항목에서 반복문에서 나온 값이며, 두 번째 인자는 loop 인덱스의 값으로써 접근은 ${index.index} 할 수 있습니다.


Written by@MHLab
개발은 언제나 취미로만...
Let that be a lesson.