표준 태그 라이브러리 (JSTL) - 4. 함수
4. 함수
JSTL은표현언어에서사용할수있는함수를제공하며이들함수는 표와같다.
함수 | 설명 |
length(obj) | obj가 List와같은 Collection 인경우저장된항목의개수를리턴하고, obj가문자열일경우문자열의길이를리턴한다. |
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) | str1이 str2를포함하고있을경우 true를리턴한다. |
containsIgnoreCase(str1, str2) | 대소문자구분없이 str1이 str2를포함하고있을경우 true를리턴한다. |
split(str1, str2) | str2로명시한글자를기준으로 str1을분리해서배열로리턴한다. |
join(array, str2) | array에저장된문자열을합친다. 이때각문자열사이에는 str2이붙는다. |
escapeXml(str) | XML의객체참조에해당하는특수문자를처리한다. 예를들어, ‘&’는 ‘&’로변환한다. |
JSTL 함수를사용하는예
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="str1" value="Functions <태그>를 사용합니다." /> <c:set var="str2" value="사용" /> <c:set var="tokens" value="1,2,3,4,5,6,7,8,9,10" />
length(str1) = ${fn:length(str1) } <br/> toUpperCase(str1) = "${fn:toUpperCase(str1)}" <br/> toLowerCase(str1) = "${fn:toLowerCase(str1)}" <br/> substring(str1, 3, 6) = "${fn:substring(str1, 3, 6)}" <br/> substringAfter(str1, str2) = "${fn:substringAfter(str1, str2) }" <br/> substringBefore(str1, str2) = "${fn:substringBefore(str1, str2) }" <br/> trim(str1) = "${fn:trim(str1)}" <br/> replace(str1, src, dest) = "${fn:replace(str1, " ", "-")}" <br/> indexOf(str1, str2) = "${fn:indexOf(str1, str2) }" <br/> startsWith(str1, str2) = "${fn:startsWith(str1, 'Fun')}" <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)}" <br/> |
실행결과
length(str1) = 22 toUpperCase(str1) = "FUNCTIONS <태그>를사용합니다." toLowerCase(str1) = "functions <태그>를사용합니다." substring(str1, 3, 6) = "cti" substringAfter(str1, str2) = "합니다." substringBefore(str1, str2) = "Functions <태그>를 " trim(str1) = "Functions <태그>를사용합니다." replace(str1, src, dest) = "Functions-<태그>를-사용합니다." indexOf(str1, str2) = "16" startsWith(str1, str2) = "true" endsWith(str1, str2) = "true" contains(str1, str2) = "true" containsIgnoreCase(str1, str2) = "true" join(array, "-") = "1-2-3-4-5-6-7-8-9-10" escapeXml(str1) = "Functions <태그>를사용합니다." |