[JSP/JSTL Core] forEach 태그의 varStatus 속성

newlec

2019-11-16 AM 12:03 800
참고 사이트 : 


설명 : 
varStatus 속성 :  forEach 문이 반복할 때 관리되는 상태 값을 사용할 수 있게 하는 속성.




위의 그림처럼 forEach의 상태객체에 변수명을 st로 설정(varStatus="st")하면 그 변수명을 통해서 다음처럼 상태 값들을 이용할 수 있다.

${st.current}   현재 반복되는 아이템
${st.index}      현재 반복되는 반복 인덱스(0부터 시작함)
${st.count}      현재 반복 횟수
${st.first}        현재 아이템이 첫번재 아이템인지를 알려줌(true 또는 false)
${st.last}         현재 아이템이 마지막 아이템인지를 알려줌(true 또는 false)  
${st.begin}     begin 속성에 설정한 값
${st.end}        end 속성에 설정한 값 
${st.step}       반복되는 인덱스의 증가치

 
위의 속성을 사용해보기 위한 코드는 다음과 같다.

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%
List list = new ArrayList<>();
list.add("hello1");
list.add("hello2");
list.add("hello3");
list.add("hello4");
list.add("hello5");
list.add("hello6");
list.add("hello7");
list.add("hello8");

pageContext.setAttribute("list", list);
%>

<c:forEach var="n" items="${list}" varStatus="st">
	${n} count:${st.count} begin:${st.begin} first:${st.first} 
        last:${st.last} step:${st.step}<br >
</c:forEach>
 
다음은 위의 코드의 실행결과 입니다.

hello1 count:1 begin: first:true last:false step:
hello2 count:2 begin: first:false last:false step:
hello3 count:3 begin: first:false last:false step:
hello4 count:4 begin: first:false last:false step:
hello5 count:5 begin: first:false last:false step:
hello6 count:6 begin: first:false last:false step:
hello7 count:7 begin: first:false last:false step:
hello8 count:8 begin: first:false last:true step:



네비게이션