jstl에 대한 의존이 먼저 필요하다는 사실을 기억한다.
<c:forEach>로 사용된다.
-
해당 태그의 속성 목록
-
var=변수명지정
-
items=forEach문에 사용할 객체를 EL(${}})로 지정
-
varStatus=변수상태에대한 것으로 지정해놓고 . 를 통해 index last first등을 사용
-
begin=시작할 인덱스넘버
-
end=끝나는 인덱스넘버
-
step=반복시 증가수치
<body>
<%--
c:forEach로 사용
#attribute 306p
var
items
varStatus
begin
end
step
--%>
<c:forEach var="i" begin="1" end="3">
${i } <br />
</c:forEach>
</body>
var로 변수명을 지정하고 인덱스넘버는 1~3까지 움직인다. EL로 var명을 지정하여 출력
배열이나 컬렉션 객체들을 하나씩 꺼내 쓴다는 점으로 보아서 자바의 forEach문과 흡사하다고 생각한다.
String 배열의 사용이다. jsp 내부에서 스크립틀릿으로 정의한 후 (JSP도 하나의 서블릿이며 Servlet 컨트롤러 사용시 Servlet이 포워드한다는 원리를 이해해야한다.)
var속성으로 변수명으로 item을 지정하고 items 로 배열 객체를 EL로 표현한다.
begin 속성으로 시작인덱스를 지정, end 속성으로 종료 인덱스를 지정한다. step으로는 인덱스 증가값을 설정한다.
즉, page~~>application 까지 서칭을 하는 범위에서 request에 키인 strArr의 값을 가져온다는 것이다.
pageContext.getReqeust().getAttribute("strArr"); 이 되는 듯 하다.
forEach문으로 해당변수에 하나씩 꺼내와 출력시키는 과정으로 본다.
for(Stirng item : strArr){
out.print(item+"<br/>")
}
로 보인다.
<body>
<%
String[] arr = {"java","html","css","jquery","bootstrap"};
request.setAttribute("strArr", arr);
%>
<c:forEach var="item" items="${strArr}">
${item} <br />
</c:forEach>
${item}
<hr />
<c:forEach var="item" items="${strArr}" begin="1" end="3">
${item} <br />
</c:forEach>
<hr />
<c:forEach var="item" items="${strArr}" step="2">
${item} <br />
</c:forEach>
</body>
'EL' 카테고리의 다른 글
9.forEach-varStatus 속성의 사용 (0) | 2020.07.15 |
---|---|
8.forEach태그의 Map 컬렉션 추출 (0) | 2020.07.15 |
6.JSP 에서 static 메서드 호출 (0) | 2020.07.14 |
5.EL에서의 논리연산자와 비교연산자 (0) | 2020.07.14 |
4.EL에서의 비교연산자 (0) | 2020.07.14 |