목차
1. forEach 태그란?
2. 기본 문법
3. 주요 속성 정리
3-1. 속성 활용 예시
4. 마무리
1. forEach 태그란?
게시판 기능을 구현할 때는 여러 개의 데이터를 한 번에 화면에 출력해야 합니다.
예를 들어, 게시글 목록이나 댓글 목록처럼 반복적으로 나열되는 데이터가 있죠.
이때 사용하는 태그가 바로 <c:forEach>입니다.
<c:foreach> 태그는 JSTL 태그 중 하나로, 반복문을 대신하는 역할을 합니다.
자바 코드로 직접 for문을 짜는 대신에 해당 태그를 사용하면 다음과 같은 장점들이 있습니다.
- 코드의 간결성
- JSP 페이지의 가독성
2. 기본 문법
<c:forEach var="변수명" items="${반복대상}">
${변수명}
</c:forEach>
1. var : 반복할 때 사용할 변수의 이름
2. items : 반복 대상 (리스트, 배열, 컬렉션 등)
👉 items 라는 바구니 안에 [사과, 바나나, 포도]가 들어 있다고 가정해봅시다.
<c:forEach> 는 이 바구니를 열어서 과일을 하나씩 꺼낸 뒤, var에 지정한 이름표(변수명)를 붙입니다.
만약 var="fruit" 라고 지정한다면, 반복문이 돌 때마다 fruit 라는 이름표에 값이 담기게 됩니다.
첫 번째 반복문에서는 fruit = 사과
두 번째 반복문에서는 fruit = 사과
세 번째 반복문에서는 fruit = 사과
가 되는 거죠.
이 과정을 거쳐 화면에는 순서대로 사과, 바나나, 포도가 출력됩니다.
3. 주요 속성 정리
<c:forEach> 태그에는 반복을 제어하기 위한 여러 가지 속성이 있습니다.
1. var
- 현재 반복에서 수행할 변수명
- 예: var="fruit" → fruit라는 변수에 각 항목이 담김
2. items
- 반복할 대상(리스트, 배열, 컬렉션 등)
- 예: ${fruitList}
3. begin
- 반복을 시작할 인덱스 번호(0부터 시작)\
- 예: begin="1" → 두 번째 항목부터 시작
4. end
- 반복을 종료할 인덱스 번호 (0부터 시작)
- 예: end="3" → 네 번째 항목에서 반복 종료
5. step
- 반복 간격을 지정 (몇 칸씩 건너뛸지 설정)
- 예: step="2" → 2칸씩 건너뛰면서 반복
6. varStatus
- 반복 상태를 담고 있는 객체
- 주요 속성
- index : 현재 인덱스 번호 (0부터 시작)
- count : 현재 반복 횟수 (1부터 시작)
- first : 첫 번째 반복 여부 (true/false)
- last : 마지막 반복 여부 (true/false)
3-1. 속성 활용 예시
1. var / list (기본 반복)
<c:forEach var="fruit" items="${fruitList}">
${fruit}
</c:forEach>
결과
* fruitList = [사과, 바나나, 포도]
사과
바나나
포도
2. begin / end (범위 지정 반복)
<c:forEach var="num" begin="1" end="5">
${num}
</c:forEach>
결과
1 2 3 4 5
2. step
<c:forEach var="num" begin="1" end="10" step="2">
${num}
</c:forEach>
결과
1 3 5 7 9
3. varStatus (상태 값 확인)
<c:forEach var="fruit" items="${fruitList}" varStatus="status">
${status.count}번째 과일: ${fruit}
</c:forEach>
1번째 과일: 사과
2번째 과일: 바나나
3번째 과일: 포도
4. 마무리
오늘은 JSP에서 반복문을 대신해 사용하는 <c:forEach> 태그에 대해 살펴보았습니다.
실무에서 자주 쓰이는 태그이니 잘 숙지해두면 좋습니다.
여기까지 수고 많으셨습니다.
감사합니다.
📌 참고
https://silverji.tistory.com/263
[JAVA]12. 게시판 목록 화면 구현 : 테이블과 forEach를 활용한 게시글 출력
[ 목차 ]1. 게시판 목록 화면 1-1. 게시판 목록을 표로 구성하는 이유2. 게시판 표 기본 구성 2-1. 표 제목 만들기 : 태그 2-2. 게시글 데이터의 반복 출력 : + forEach3. 게시글이 없을 때 표시하기 3-1. 빈
silverji.tistory.com
'개발 이론 > CRUD 게시판 만들기' 카테고리의 다른 글
| [JAVA]BoardListServlet.java 파일 생성 및 코드 분석 (6) | 2025.06.27 |
|---|