본문 바로가기
Web/JSP

[JSP] JSTL Core - forEach, forTockens

by EricJeong 2019. 7. 22.

 

JSTL Core jar파일을 lib에 넣어주었다면, jsp 파일에서 다음과 같이 디렉티브 선언을 해줍니다.

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

prefix - JSTL Core을 사용하기 위한 키워드

uri - jstl core의 URI

 

prefix에 선언된 키워드를 통해 JSTL을 사용할 수 있습니다.

 

JSTL - for문

 

<c:forEach begin="0" end="10" var="i" varStatus="stat">
	<c:if test="${stat.first }">
		start!
	</c:if>
	${i } : ${stat.count }<br>
	<c:if test="${stat.last }">
		finish!
	</c:if>
</c:forEach>

begin : for문의 시작 지점

end : for문의 종료 지점

var : 값이 저장될 변수

varStatus : for문의 상태(first -for문의 처음 반복 상태일 때 true, last - 최종 반복 상태일 때 true, count - 반복한 횟수)

 

결과 창

 

 

 

배열, 컬랙션을 이용한 for문

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	String[] myFriends = {"jack", "eric", "jane", "poll"};
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL CORE</title>
</head>
<body>
	<c:forEach var="friend" varStatus="stat" items="<%=myFriends %>">
		<div>나의 ${stat.count }번째 친구는 ${friend } 입니다.</div><br>
	</c:forEach>
</body>
</html>

 

var : 값을 임시 저장할 변수를 지정합니다.

items : 값을 가지고있는 배열, 컬랙션을 지정합니다.

 

 

결과창

 

 

 

forTockens - for + split

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	String myFriends = "jack,eric,jane,poll";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL CORE</title>
</head>
<body>
	<c:forTokens items="<%=myFriends %>" delims="," var="friend">
		<div>나의 ${stat.count }번째 친구는 ${friend } 입니다.</div><br>
	</c:forTokens>
</body>
</html>

 

forTockens는 for문과 String.split()메서드를 합친 결과를 보여줍니다.

myFriends에 문자열인 "jack,eric,jane,poll"을 저장한 후, delims를 ","로 지정해주면 문자열을 배열로 변환하여 for문을 진행하게 됩니다.

 

 

결과창

 

 

댓글