[Java Web, JSTL] 반복문 <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까지 반복하면서 목록을 표시한다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

일반적인 사용 예

<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로 지정된 변수로 얻어 올 수 있다.

[출처] http://www.devkuma.com/books/pages/1182

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
186 [Java Web programming] Spring boot(백엔드)와 React.js(프론트엔드)의 만남 - 프론트엔드 졸리운_곰 2021.08.29 98
185 [java][spring][mybatis] [MyBatis] resultType에 넣을 수 있는 값 정리 졸리운_곰 2021.08.17 303
184 [Java Spring web programming][자바 웹 개발] 10+ Free Open Source Projects Using Spring Boot file 졸리운_곰 2021.08.12 17
183 [java 웹 프로그래밍] Spring boot - Thymeleaf 기본 문법 졸리운_곰 2021.08.11 27
182 [Java 웹 프로그래밍] Tutorial: Thymeleaf + Spring file 졸리운_곰 2021.08.10 15
181 [java][spring boot][gradle] GitHub에서 스프링 부트 & Gradle 프로젝트 Import 하기! file 졸리운_곰 2021.08.05 74
180 [java, spring] Get HTTP POST Body in Spring Boot with @RequestBody 졸리운_곰 2021.06.18 15
179 [Java, jsp, jstl] [JSTL] Functions Tag - fn:contains() 사용하기 졸리운_곰 2021.06.09 38
178 [Java, jsp, jstl] [JSTL] List 갯수(size) 구하기 졸리운_곰 2021.06.02 165
177 [java, jsp, jstl] JSTL에서 변수두개사용하기 : jsp jstl list<> 두개를 졸리운_곰 2021.06.02 149
» [Java Web, JSTL] 반복문 <c:forEach>, <c:forTokens> 졸리운_곰 2021.05.27 20
175 [Java Web] 조건문 <c:if>, <c:choose>, <c:when>, <c:otherwise> 졸리운_곰 2021.05.26 112
174 [java, web dev] forEach를 이용해서 JSTL로 출력하기 졸리운_곰 2021.05.24 70
173 [Java, Web dev] JSTL문법 <c:forEach> c:tag를 이용한 리스트 출력 file 졸리운_곰 2021.05.24 73
172 [Java][Web][Spring] vo 여러개 전달하기. LIST<VO> vo를 list 로 넘기기 / 받기 졸리운_곰 2021.05.20 1865
171 [java web dev, spring, freemaker] freemarker (개념, jsp와 차이, 문법, spring과 연동 설정, 예제) file 졸리운_곰 2021.05.17 31
170 [java web spring] [Spring] web.xml - Filter url 제외시키기 졸리운_곰 2021.05.14 142
169 [Java Web Srping mvc] Spring MVC - home.jsp의 동작원리 file 졸리운_곰 2021.05.14 37
168 [java, web, jsp] Servlet/JSP에서 Ajax 사용 file 졸리운_곰 2021.05.13 437
167 [java][JAVA WEB] [JSP] JSTL 사용 방법 - 주요 태그 문법 정리 . file 졸리운_곰 2021.04.22 13
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED