본문 바로가기

개발 이론/CRUD 게시판 만들기

JSP 기초 : 반복 데이터를 출력하는 forEach 태그

반응형
목차

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

 

 

 

 

 

반응형