SPRING
[JSTL] c태그를 이용한 iteration 속성 이용하기
silver-w
2024. 11. 6. 23:29
필요성 : c태그 forEach속성의 리스트를 순환할때, 인덱스별 if속성을 멕이고싶을때 사용함.
forEach에 varStatus를 이용하면 iteration 번호 알 수 있음.
(예시)
<c:forEach var="m" items="${monthCashOutLine}" varStatus="status">
<c:choose>
<%-- day의 값이 0이면 BeginBlank. 빈 셀 넣기 --%>
<c:when test="${m.day == 0}">
<td></td>
</c:when>
<c:otherwise>
<td>
<div>
<a href="${pageContext.request.contextPath}/member/cashListByDate?year=${year}&month=${month+1}&date=${m.day}">
${m.day}
</a>
</div>
<hr>
<%-- 날짜별 수입, 지출 개요 --%>
<div>수입 : ${m.income}</div>
<div>지출 : ${m.outcome}</div>
<hr>
<div>합계 : ${m.total}</div>
</td>
</c:otherwise>
</c:choose>
<%-- 토요일(6))까지 입력한뒤 줄을 닫고, 새로운 행 시작하기 --%>
<c:if test="${status.index % 7 == 6}">
</tr><tr> <!-- 새로운 행 시작 -->
</c:if>
</c:forEach>
<varStatus 가 쓰인 곳>
<c:forEach var="m" items="${monthCashOutLine}" varStatus="status"> |
<c:if test="${status.index % 7 == 6}"> </tr><tr> <!-- 새로운 행 시작 --> </c:if> |
status( varStatus ).index 로 for문의 현재 인덱스를 알 수 있다.
<varStatus의 상태변수>
status.index | 0부터 시작, 현재 for문이 순환한 횟수를 구해준다 |
status.count | 1부터 시작, 상동 |
status.end | for문의 끝 번호 |