JSP

JSTL(JSP Standard Tag Library) - 5. forTokens 사용

에어팟맥스 2022. 8. 31. 23:35

실행파일 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
	String friendNames_1 = "아이브,르세라핌,뉴진스,블랙핑크";
	String friendNames_2 = "제니,장원영.로제,안유진/민지";
	
	request.setAttribute("friendNames_1", friendNames_1);
	request.setAttribute("friendNames_2", friendNames_2);
	
	RequestDispatcher dispatcher = request.getRequestDispatcher("06_forTokens_Array_List_view_02.jsp");
	dispatcher.forward(request, response);
	
%>

 

view 파일

 

forTokens 는 문자열을 구분자로 잘라서 배열로 만들어준다.

forTokens 에서 items="${문자열}" 에 들어오는 것은 배열이나 리스트가 아닌 하나의 문자열이다.

 

<c:forTokens var="name" items="${문자열}" delims="구분자">

       

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%-- ==== JSTL(JSP Standard Tag Library) 사용하기 ==== --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forTokens 를 이용하여 친구이름 출력하기</title>
</head>
<body>

	<h2>forTokens 를 이용하여 친구이름 출력하기 - 1</h2>
	
	<c:if test="${requestScope.friendNames_1 == null}">
		<div>
			<span style="color: red;">친구가 없으시군요 ^_________^</span>
		</div>
	</c:if>
	
	<c:if test="${empty requestScope.friendNames_1}">
		<div>
			<span style="color: red;">친구가 없으시군요 ^_________^</span>
		</div>
	</c:if>
	
	
	<c:if test="${requestScope.friendNames_1 != null}">
		<div>
			<ol>
				<c:forTokens var="name" items="${friendNames_1}" delims=",">
					<%-- forTokens 에서 items="${}" 에 들어오는 것은 배열이나 리스트가 아닌 하나의 문자열이 들어온다.
						 문자열을 , 로 잘라서 배열로 만들어준다.
					 --%>
					 <li>${name}</li>
				</c:forTokens>
			</ol>
		</div>
	</c:if>
	
	<c:if test="${not empty requestScope.friendNames_1}">
		<div>
			<ol>
				<c:forTokens var="name" items="${friendNames_1}" delims=",">
					<%-- forTokens 에서 items="${}" 에 들어오는 것은 배열이나 리스트가 아닌 하나의 문자열이 들어온다.
						 문자열을 , 로 잘라서 배열로 만들어준다.
					 --%>
					 <li>${name}</li>
				</c:forTokens>
			</ol>
		</div>
	</c:if>
	
	
	
	<hr style="border: solid 1px red; margin 5px 0;">
	
	
	<c:if test="${empty requestScope.friendNames_2}">
		<div>
			<span style="color: red;">친구가 없으시군요 ^_________^</span>
		</div>
	</c:if>
	
	<c:if test="${not empty requestScope.friendNames_2}">
		<div>
			<ol>
				<c:forTokens var="name" items="${friendNames_2}" delims=",./">
					<%-- forTokens 에서 items="${}" 에 들어오는 것은 배열이나 리스트가 아닌 하나의 문자열이 들어온다.
						 문자열을 , 로 잘라서 배열로 만들어준다.
					 --%>
					 <li>${name}</li>
				</c:forTokens>
			</ol>
		</div>
	</c:if>
	
	
	
	<hr style="border: solid 1px blue; margin 20px 0;">
	
	<h2>split 함수를 이용하여 배열로 만든 다음 forEach 를 사용하여 친구이름 출력하기 - 2</h2>
	
	<c:if test="${empty requestScope.friendNames_1}">
		<div>
			<span style="color: red;">친구가 없으시군요 ^_________^</span>
		</div>
	</c:if>
	
	<c:if test="${not empty requestScope.friendNames_1}">
		<c:set var="arr_friendNames_1" value="${fn:split(requestScope.friendNames_1, ',')}" />
		<div>
			<ol>
				<c:forEach var="name" items="${arr_friendNames_1}">
					<li>${name}</li>
				</c:forEach>
			</ol>
		</div>
	</c:if>
	
	<c:if test="${empty requestScope.friendNames_1}">
		<div>
			<span style="color: red;">친구가 없으시군요 ^_________^</span>
		</div>
	</c:if>
	
	<c:if test="${not empty requestScope.friendNames_2}">
		<c:set var="arr_friendNames_2" value="${fn:split(requestScope.friendNames_2, ',./')}" />
		<div>
			<ol>
				<c:forEach var="name" items="${arr_friendNames_2}">
					<li>${name}</li>
				</c:forEach>
			</ol>
		</div>
	</c:if>
	
	<hr style="border: solid 1px red; margin 5px 0;">

</body>
</html>