Develop

[타임리프 Thymeleaf] 반복문 while 같은 단순반복 처리

issuemaker99 2024. 9. 11. 17:35
728x90

#numbers.sequence 를 사용해서 원하는 반복 횟수만큼 실행시킬 수 있다. 

 

▶ from 에서 to 까지 순차적으로 반복한다. step 은 증가 수를 지정할 수 있다. 없으면 1 씩 증가한다.

/* Create a sequence (array) of integer numbers going from x to y */
${#numbers.sequence(from,to)}
${#numbers.sequence(from,to,step)}

 

▶ 1부터 scrtPrd.ordUnitBnbx 수만큼 반복한다.

<th:block th:each="num : ${#numbers.sequence(1, scrtPrd.ordUnitBnbx)}">
    <li th:data-scrtprdselectqty="${num * scrtPrd.bnbxQty}"><span th:text="|${num}TA|"></span></li>
</th:block>

 

반복상태변수 사용 예제

<th:block th:each="num, numStat : ${#numbers.sequence(1, scrtPrd.ordUnitBnbx)}">
    <li th:data-scrtprdselectqty="${num * scrtPrd.bnbxQty}"><span th:text="|${num}TA|"></span></li>

    <p th:text="${numStat.index}"></p> <!-- index	현재 반복 인덱스  (0부터 시작)		 -->
    <p th:text="${numStat.count}"></p> <!-- count	현재 반복 인덱스  (1부터 시작)	 -->
    <p th:text="${numStat.size}"></p> <!-- size	총 요소 수 -->
    <p th:text="${numStat.current}"></p> <!-- current	현재 요소 -->
    <p th:text="${numStat.even}"></p> <!-- even	현재 반복이 짝수인지 여부 (boolean)  -->
    <p th:text="${numStat.odd}"></p> <!-- odd		현재 반복이 홀수인지 여부 (boolean) -->
    <p th:text="${numStat.first}"></p> <!-- first	현재 반복이 첫번째인지 여부 (boolean)  -->
    <p th:text="${numStat.last}"></p> <!-- last	현재 반복이 마지막인지 여부 (boolean) -->
</th:block>
LIST