본문 바로가기
BACK

forEach

by ssoyDev 2021. 1. 21.
반응형


forEach

ArrayList 객체에서 사용가능 (배열을 불러올때 씀)



지시문 선언

반복문을 사용하려고 하면 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. 정의되지 않을경우 o    
end 반복 종료   마지막 index
step 반복할 때마다 건너뛸 index 개수    
varStatus 반복 상태를 알 수 있는 변수    

 

varStatus 값 설명

리턴 설명
index int items에 정의한 항목을 가리키는 index 번호이다. 0부터 시작한다
count int 현재 몇번째 반복인지 나타낸다. 1부터 시작한다.
first boolean 현재 반복이 첫번째인지 여부
last boolean 현재 반복이 마지막인지 여부

${status.current} 현재 for문의 해당하는 번호

${status.index} 0부터의 순서

${status.count} 1부터의 순서

${status.first} 첫 번째인지 여부

${status.last} 마지막인지 여부

${status.begin} for문의 시작 번호

${status.end} for문의 끝 번호

${status.step} for문의 증가값

 

<c:foreach> 태그 상태 속성 입니다. 속성을 이용해서 제어하면 좀더 쉽게 제어할수있습니다.

< c:foreach items=”${RESULT}” var=”RESULT” varStatus=”status”>
${status.current}<br/> <!– 현재 아이템 –>
${status.index}<br/>        <!– 0부터의 순서 –>
${status.count}<br/>        <!– 1부터의 순서 –>
${status.first}<br/>           <!– 현재 루프가 처음인지 반환 –>
${status.last}<br/>           <!– 현재 루프가 마지막인지 반환 –>
${status.begin}<br/>        <!– 시작값 –>
${status.end}<br/>         <!– 끝값 –>
${status.step}<br/>         <!– 증가값 –>
< /c:forEach>

 

 

사용 예제

 

모든 속성을 사용한 예

<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>



출처: https://thefif19wlsvy.tistory.com/61

반응형

'BACK' 카테고리의 다른 글

추상메소드  (0) 2021.02.02
EL/JSTL 문법정리 (필요할때 찾아볼 용도)  (0) 2021.01.27
MVC패턴  (0) 2021.01.20
HashMap  (0) 2021.01.20
private / default / protected /public  (0) 2021.01.14