본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] c태그 사용하기(<c:forEach varStatus="">)

갑자기 이클립스에서 톰캣오류가 발생하는 바람에 앞에서 했던 예제들이 다 날아간 상황 ㅠㅠㅠ

여튼 c태그를 사용하기 위해서는 라이브러리가 필요하다

jakarta.apache.org

 

The Jakarta Site - The Apache Jakarta™ Project -- Java Related Products

Founded in 1999, the Jakarta Project housed a diverse set of popular open source Java solutions. In 2005, as a part of creating a flatter Apache Software Foundation, Jakarta subprojects began to become full top-level Apache projects. This process has conti

jakarta.apache.org

 

ex jakarta 탭 > taglibs > apache standard > 2번째 다운로드 > binaries > 1.1.2 zip

 

그리고 압축을 풀어서 lib파일에 있는 것을 사용하고자하는 프로젝트 안에 WebContent > WEB_INF lib에 추가해주면 된다.

 

그리고 jstl을 사용할 페이지 상단에

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>를 추가해야한다.


배열이나 컬렉션 또는 맵 과 같은 집합체에 저장되어 있는 값들을 순차적으로 처리할 때 사용하는 태그

 

<c:forEach [var=“변수 이름”] items=“배열 또는 집합체”>
몸체
</c:forEach>

 

var : 원소 한 개를 저장할 변수

 


<c:forEach> varStatus 속성
 varStatus 속성은 항목의 인덱스 값을 사용할 경우에 이용

프로퍼티  설명 
index  items에 지정한 집합체의 현재 반복 중인 항목의 index를 알려준다. 시작값은 0. 
count  반복할 때 몇 번째 반복 인지 알려준다. 1부터 시작. 
first  현재 반복이 처음인지 여부를 알려준다. 첫 번째일 경우 true 아니면 false. 
last  현재 반복이 마지막인지 여부를 알려준다. 마지막일 경우 true 아니면 false.




<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>c:forEach 예제</title>
</head>
<body>
	<%
		// 배열 변수 선언
	String[] movieArr = { "타이타닉", "시네마천국", "혹성탈출", "킹콩" };
	// 배열 변수의 내용을 page 속성에 저장
	pageContext.setAttribute("movieList", movieArr);
	%>

	<h3>==영화 목록=</h3>
	<c:forEach var="movie" items="${movieList }" varStatus="status">
	${status.count }
	<c:choose>
			<c:when test="${status.last}">${movie }</c:when>
			<c:otherwise>${movie },</c:otherwise>
		</c:choose>
	</c:forEach>
</body>
</html>

 

 

 

728x90
반응형