JSTL(JSP Standard Tag Library)에서 <c:forEach> 태그는 객체 컬렉션을 반복 처리할 때 가장 널리 사용되는 태그입니다. 배열, 리스트, 맵 등 다양한 데이터 구조를 순회하며 각 요소에 대해 원하는 작업을 수행할 수 있습니다.
또한 <c:forTokens> 태그는 하나의 문자열을 구분자(delimiter) 기준으로 토큰 단위로 분리한 뒤, 각 토큰을 순서대로 반복 처리할 때 사용됩니다.
c:forEach 태그의 주요 속성
<c:forEach> 태그는 다음과 같은 속성을 제공합니다.
| 속성 | 설명 | 필수 여부 | 기본값 |
|---|---|---|---|
| items | 반복 처리할 대상 데이터(컬렉션) | 아니오 | 없음 |
| begin | 반복을 시작할 인덱스 (0 = 첫 번째 항목, 1 = 두 번째 항목, ...) | 아니오 | 0 |
| end | 반복을 종료할 인덱스 (0 = 첫 번째 항목, 1 = 두 번째 항목, ...) | 아니오 | 마지막 항목 |
| step | 지정한 값만큼 건너뛰며 반복 처리 | 아니오 | 1 |
| var | 현재 반복 중인 항목을 담을 변수 이름 | 아니오 | 없음 |
| varStatus | 반복 상태(인덱스, 횟수 등)를 담을 변수 이름 | 아니오 | 없음 |
c:forEach 태그 사용 예제
다음은 <c:forEach> 태그를 사용해 1부터 5까지 반복하면서 각 항목을 출력하는 간단한 예제입니다.
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title><c:forEach> Tag Example</title>
</head>
<body>
<c:forEach var = "i" begin = "1" end = "5">
Item <c:out value = "${i}"/><p>
</c:forEach>
</body>
</html>위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Item 1 Item 2 Item 3 Item 4 Item 5
이처럼 <c:forEach> 태그는 begin과 end 속성만으로도 손쉽게 반복문을 구현할 수 있으며, items 속성에 컬렉션을 지정하면 리스트나 배열의 요소를 자유롭게 순회할 수 있습니다. varStatus 속성을 함께 사용하면 현재 인덱스나 반복 횟수 등 추가 정보도 활용할 수 있어 실무에서 매우 유용합니다.