본문 바로가기

Java Programming/Jsp

JSP JSTL(JSP Standard Tag Library) - 함수 태그(functions)

펌 : http://gangzzang.tistory.com/115


1. 함수 태그(functions)

- JSTL은 EL에서 사용할 수 있는 함수 태그를 제공한다.


함수

 설명 

 length(obj)

 obj가 Conllection인 경우 저장된 항목의 개수를, 문자인 경우 문자열의 길이를 반환

 toUpperCase(str)

 str을 대문자로 변환

 toLowerCase(str) 

 str을 소문자로 변환

 substring(str, idx1, idx2) 

 str.substring(idx1, idx2)의 결과를 반환, idx2가 -1일 경우 str.substring(idx1)과 동일

 substringAfter(str1, str2) 

 str1에서 str1에 포함되어 있는 str2 이후의 문자열을 구함

 substringBefore(str1, str2) 

 str1에서 str1에 포함되어 있는 str2 이전의 문자열을 구함

 trim(str) 

 str 좌우의 공백 문자를 제거 

 replace(str, src, dest) 

 str에 있는 src를 dest로 변환

 indexOf(str1, str2) 

 str1에서 str2가 위치한 인덱스를 구함

 startsWith(str1, str2)

 str1이 str2로 시작할 경우 true, 그렇지 않을 경우 false를 반환

 endsWith(str1, str2) 

 str1이 str2로 끝나는 경우 true, 그렇지 안을 경우 false를 반환

 contains(str1, str2)

 st1이 str2를 포함하고 있을 경우 true를 반환

 containslgnoreCase(str1, str2)

 대소문자 구분없이 str1이 str2를 포함하고 있을 경우 true를 반환

 split(str1, str2) 

 str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 반환 

 join(array, str2) 

 array에 저장된 문자열을 합침, 각 문자열의 사이에는 str2가 붙음

 escapeXml(str) 

 XML의 객체 참조에 해당하는 특수문자를 처리함 


<!-- functions.jsp -->

<%@page import="java.util.HashMap"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!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=EUC-KR">
<title>functions</title>
</head>
<body>
	<%
		HashMap map = new HashMap();
		map.put("1", "1");
		map.put("2", "2");
		map.put("3", "3");
		map.put("4", "4");
		map.put("5", "5");
	%>	
	<c:set var="map" value="<%= map %>" />
	<c:set var="str1" value="갱짱(Gz) 블로그, http://gangzzang.tistory.com/"/>
	<c:set var="str2" value="블로그" />
	<c:set var="tokens" value="1,2,3,4,5,6,7,8,9,10" />
	
	<h1>Function 태그</h1>
	length(map) : ${ fn:length(map) }<br>
	length(str1) : ${ fn:length(str1) }<br>
	toUpperCase(str1) : ${ fn:toUpperCase(str1) }<br>
	toLowerCase(str1) : ${ fn:toLowerCase(str1) }<br>
	substring(str1, 19, 40) : ${ fn:substring(str1, 19, 40) }<br>
	substringAfter(str1, str2) : ${ fn:substringAfter(str1, str2) }<br>
	substringBefore(str1, str2) : ${ fn:substringBefore(str1, str2) }<br>
	replace(str1, src, dest) : ${ fn:replace(str1, " ", "^") }<br>
	indexOf(str1, str2) : ${ fn:indexOf(str1, str2) }<br>
	startsWith(str1, str2) : ${ fn:startsWith(str1, '갱짱') }<br>
	endsWith(str1, str2) : ${ fn:endsWith(str1, '/') }<br>
	contains(str1, str2) : ${ fn:contains(str1, str2) }<br>
	containsIgnoreCase(str1, str2) : ${ fn:containsIgnoreCase(str1, str2) }<br>
	<c:set var="array" value="${ fn:split(tokens, ',') }" />
	join(array, "-") : ${ fn:join(array, "-") }<br>
	escapeXml(str1) : ${ fn:escapeXml(str1) }
</body>
</html>

<!-- 
	실행결과
	
	Function 태그

	length(map) : 5
	length(str1) : 41
	toUpperCase(str1) : 갱짱(GZ) 블로그, HTTP://GANGZZANG.TISTORY.COM/
	toLowerCase(str1) : 갱짱(gz) 블로그, http://gangzzang.tistory.com/
	substring(str1, 19, 40) : gangzzang.tistory.com
	substringAfter(str1, str2) : , http://gangzzang.tistory.com/
	substringBefore(str1, str2) : 갱짱(Gz) 
	replace(str1, src, dest) : 갱짱(Gz)^블로그,^http://gangzzang.tistory.com/
	indexOf(str1, str2) : 7
	startsWith(str1, str2) : true
	endsWith(str1, str2) : false
	contains(str1, str2) : true
	containsIgnoreCase(str1, str2) : true
	join(array, "-") : 1-2-3-4-5-6-7-8-9-10
	escapeXml(str1) : 갱짱(Gz) 블로그, http://gangzzang.tistory.com/
 -->