JSP/Servlet | JSTL(JSP Standard Tag Library) | 반복문 <c:forEach>, <c:forTokens>
반복문은 동일한 작업을 특정 횟수 만큼 반복할 때 사용한다. JSTL에서는 제일 흔하게 사용하는 <c:forEach>
에 대해서 알아보자.
지시문 선언
반복문을 사용하려고 하면 JSP 페이지 상단에 JSTL core 선언이 필요하다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach>
목록을 이용한 반복문
<c:forEach>
는 목록을 입력 받아서 목록의 갯수만큼 반복하는 반복문이다.
속성 설명
항목 | 설명 | 필수 여부 | 기본값 |
---|---|---|---|
var | 사용할 변수명 | 필수 | 없음 |
items | Collection 객체(List, Map 등) | 필수 | |
begin | 반복 시작 index. 정의되지 않을 경우 0 | 0 | |
end | 반복 종료 index | 마지막 index | |
step | 반복할 때마다 건너 뛸 index 갯수 | ||
varStatus | 반복 상태를 알 수 있는 변수 |
varStatus 값 설명
값 | 리턴 | 설명 |
---|---|---|
index | int | items에 정의한 항목을 가리키는 index 번호이다. 0부터 시작한다. |
count | int | 현재 몇번째 반복인지 나타낸다. 1부터 시작한다. |
first | boolean | 현재 반복이 첫번째인지 여부 |
last | boolean | 현재 반복이 마지막인지 여부 |
사용 예제
모든 속성을 사용한 예
<c:forEach var="item" items="${items}" begin="0" end="10" step="1" varStatus="status">
<p>번호 : ${status.index}</p>
<p>책명 : ${item.name}</p>
<p>저자 : ${item.author}</p>
<p>출판사 : ${item.publisher}</p>
</c:forEach>
위 예시는 ${items}
0부터 10까지 반복하면서 목록을 표시한다.
일반적인 사용 예
<c:forEach var="item" items="${items}">
<p>번호 : ${status.index}</p>
<p>책명 : ${item.name}</p>
<p>저자 : ${item.author}</p>
<p>출판사 : ${item.publisher}</p>
</c:forEach>
<c:forTokens>
토큰을 이용한 반복문
문자열을 특정기호로 잘라내어 반복하는 반복문이다. Java에서의 StringTokenizer에 비슷하게 동작한다.
속성 설명
항목 | 설명 | 필수 여부 | 기본값 |
---|---|---|---|
delims | 문자열을 분리를 위한 특정 기호 | 필수 |
사용 예제
<ol>
<c:forTokens var="item" items="사과,포도,바나나,수박,딸기" delims=",">
<li>과일 : ${item}</li>
</c:forTokens>
</ol>
items
에 문자열을 넣고, delims
에는 분리할 기호를 넣는다. 각 토큰별로 분리된 문자열은 var로 지정된 변수로 얻어 올 수 있다.
최종 수정 : 2017-12-17