[MVC 6-3] JSTL_Functions - EL ํ•จ์ˆ˜

์ž„์Šนํ˜„ยท2023๋…„ 1์›” 27์ผ
0

MVC

๋ชฉ๋ก ๋ณด๊ธฐ
26/27


๐Ÿ“Œsplit ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด์„ ๊ตฌ๋ถ„์ž๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
๐Ÿ“Œsubstring ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด์„ ์‹œ์ž‘์ฒจ์ž(ํฌํ•จ)์™€ ์ข…๋ฃŒ์ฒจ์ž(๋ฏธํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•ด ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
๐Ÿ“Œreplace ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด์—์„œ ์›ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์น˜ํ™˜ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
๐Ÿ“ŒescapeXml ํ•จ์ˆ˜ : ์†์„ฑ๊ฐ’์œผ๋กœ ์ œ๊ณต๋œ ๋ฌธ์ž์—ด์— ํƒœ๊ทธ ๊ด€๋ จ ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํšŒํ”ผ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

๐Ÿ“ƒfunctions.jsp

โ€ป webapp/jstl ํด๋”์— functions.jsp ์ƒ์„ฑ

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%-- taglib Directive๋ฅผ ์ด์šฉํ•˜์—ฌ JSTL์˜ Functions ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ JSP ๋ฌธ์„œ์— ํฌํ•จํ•ด์•ผ๋งŒ EL ํ•จ์ˆ˜๋ฅผ ์ œ๊ณต๋ฐ›์•„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ --%>
<%-- โ†’ prefix ์†์„ฑ๊ฐ’์€ [fn]๋กœ ์„ค์ • --%>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MVC</title>
</head>
<body>
	<h1>Functions - EL ํ•จ์ˆ˜</h1>
	<hr>
	<c:set var="phone" value="010-1234-5678"/>
	<p>์ „ํ™”๋ฒˆํ˜ธ = ${phone }</p>
	<hr>
	<%-- ----------------------------------------------------------------------------------------------------- --%>
	<%-- split ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด์„ ๊ตฌ๋ถ„์ž๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ --%>
	<c:set var="array" value="${fn:split(phone,'-') }"/>
	<c:forEach var="num" items="${array }">
		<div>${num }</div>
	</c:forEach>
	<hr>
	<%-- ----------------------------------------------------------------------------------------------------- --%>
	<%-- substring ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด์„ ์‹œ์ž‘์ฒจ์ž(ํฌํ•จ)์™€ ์ข…๋ฃŒ์ฒจ์ž(๋ฏธํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•ด ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ --%>
	<div>${fn:substring(phone,0,3) }</div>
	<div>${fn:substring(phone,4,8) }</div>
	<div>${fn:substring(phone,9,13) }</div>
	<hr>
	<%-- ----------------------------------------------------------------------------------------------------- --%>
	<c:set var="content" value="์•ˆ๋…•ํ•˜์„ธ์š”.\n๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค."></c:set>
	<div>${content }</div>
	<%-- replace ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด์—์„œ ์›ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์น˜ํ™˜ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ --%>
	<div>${fn:replace(content,'\\n','<br>') }</div>
	<hr>
	<%-- ----------------------------------------------------------------------------------------------------- --%>
	<c:set var="html" value="<font size='7' color='red'>์•ˆ๋…•ํ•˜์„ธ์š”.</font>"/>
	<%-- HTML ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์ž์—ด์ด ์ €์žฅ๋œ ์†์„ฑ๊ฐ’์„ EL๋กœ ์ œ๊ณต๋ฐ›์•„ ์ถœ๋ ฅํ•  ๊ฒฝ์šฐ HTML ํƒœ๊ทธ๊ฐ€ ์ ์šฉ๋œ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ --%>
	<div>${html }</div>
	<div><c:out value="${html }"/></div>
	<%-- escapeXml ํ•จ์ˆ˜ : ์†์„ฑ๊ฐ’์œผ๋กœ ์ œ๊ณต๋œ ๋ฌธ์ž์—ด์— ํƒœ๊ทธ ๊ด€๋ จ ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํšŒํ”ผ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ --%>
	<%-- HTML ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์ž์—ด์ด ์ €์žฅ๋œ ์†์„ฑ๊ฐ’์„escapeXml ํ•จ์ˆ˜๋กœ ์ œ๊ณต๋ฐ›์•„ ์ถœ๋ ฅํ•  ๊ฒฝ์šฐ HTML ํƒœ๊ทธ๋„ ๋ฌธ์ž์—ด๋กœ ์ ์šฉ๋˜์–ด ์ถœ๋ ฅ --%>
	<div>${fn:escapeXml(html) }</div>
</body>
</html>

0๊ฐœ์˜ ๋Œ“๊ธ€