[JSTL] jstl에서 for문 쓰기 및 varStatus의 속성

2020. 10. 24. 21:313_개발/3_5_JSP

jstl 쓰면서 가장 자주 쓰는 문법이다.

 

해당 코드도 c태그이므로 jsp 파일 맨 위에 c태그에 대한 선언이 필요하다.

 

1. c태그 선언

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>

 

2. jstl에서 for문 선언

<c:forEach var="data" items="${list}" varStatus="status">
	 ${data.id} :  ${data.name} <br/>
</c:forEach>

 

items : for문을 돌릴 대상(일반적으로 배열)

var : for문 내부에서 사용할 변수. 즉 위의 소스를 예를 들어 list의 건건의 data에 넣는다.

varStatus : forEach 태그의 속성 사용을 위한 변수

 

java 소스를 위의 소스는 아래와 같다.

for(int i=0;i<list.size();i++) {
	Map<String, String> data = list.get(i);
    System.out.println(data.get("id") + ":" + data.get("name") );
}

 

3. forEach 태그의 속성의 종류

index 0부터 몇번째인지 표시 ${status.index} (varStatus에 선언된 변수.index)
count 1부터 몇번째인지 표시 ${status.count} (varStatus에 선언된 변수.count)
current 현재값(현재 for문에서 몇번째 인지 표시). 사용예) ${status.current} (varStatus에 선언된 변수.current)
first 현재가 첫번째라면 true를 return, 아니라면 false를 return
사용예) ${status.first} (varStatus에 선언된 변수.first)
last 현재가 마지막이라면 true를 return, 아니라면 false를 return 
사용예) ${status.last} (varStatus에 선언된 변수.last)
begin 시작값 사용예) ${status.begin} (varStatus에 선언된 변수.begin)
end 끝값 사용예) ${status.end} (varStatus에 선언된 변수.end)
step 증가값 사용예) ${status.step} (varStatus에 선언된 변수.step)