
c태그와 함수를 사용하기 위해서는 jsp 문서 맨 윗쪽에
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
위와 같은 코드를 넣어주어야한다.

라이브러리도 따로 다운받아서 넣어주었다.
1. c:catch
JAVA의 try-catch 구문과 같은 역할을 한다. 예외처리를 위해 사용하며, 몸체 부분에 예외가 발생할 것 같은 코드를 넣어 예외 발생시 이를 처리하도록 한다.
<c:catch var="변수명">
<!-- 예외 발생 코드 -->
</c:catch>
2. c:out
JAVA의 System.out.println과 유사한 기능을 수행한다. 값을 입력받은 뒤 문자열로 바꾸어 보여준다.
<c:out value="출력값"/>
<!-- value 에는 EL 태그 사용 -->
<c:out value="${chocoding}"/>
3. 기타 함수들
예시를 위해 우선 hashmap을 만든다.
<%
HashMap<String,String> map = new HashMap<String,String>();
map.put("1","1");
map.put("2","2");
map.put("3","3");
map.put("4","4");
map.put("5","5");
map.put("abc","abc");
map.put("ABC","ABC");
%>
<c:set var="map" value="<%=map%>"/>
<h1>Function Tag</h1>
<!-- length(map) : map의 길이가 몇개인지 -->
length(map): ${fn:length(map)}
<br/>
<!-- toUpperCase(str) : str을 대문자로 변환 -->
toUpperCase("abc"): ${fn:toUpperCase("abc")} <br/>
<!-- toLowerCase(str) : str을 소문자로 변환 -->
toLowerCase("ABC"): ${fn:toLowerCase("ABC")} <br/>
<!-- substring(str,idx1,idx2) : str.substring(idx1,idx2)의 결과를 반환. 끝위치는 포함하지 않는다 -->
substring("자를 문자열",시작위치,끝위치): ${fn:substring("123456",1,4)} <br/>
<!-- substringAfter(str1,str2) : str1에서 str2부터 자른 값을 반환 -->
substringAfter(자를 문자열,시작위치): ${fn:substringAfter("123456","3")} <br/>
<!-- substringBefore(str1,str2) : str1에서 str2 이전의 문자열을 반환-->
substringBefore(자를 문자열,시작위치(역순)): ${fn:substringBefore("123456","3")} <br/>
<!-- trim(str) : str 좌우의 공백 문자를 제거 -->
trim(str): ${fn:trim(" 123456 ")} <br/>
<!-- replace(str,src,dest) : str에 있는 src를 dest로 변환-->
replace(str,src,dest): ${fn:replace("토마토","마","토")} <br/>
<!-- indexOf(str1,str2) : str1에서 str2가 위치한 인덱스를 구함 -->
indexOf(str1,str2): ${fn:indexOf("123456","3")} <br/>
<hr/>
<!-- startsWith(str1,str2) : str1이 str2로 시작할 경우 true, 아니면 false-->
startsWith(str1,str2): ${fn:startsWith("토마토","토")} <br/>
<!-- endsWith(str1,str2) : str1이 str2로 끝날 경우 true, 아니면 false -->
endsWith(str1,str2): ${fn:endsWith("토마토","마")} <br/>
<!-- contains(str1,str2) : str1이 str2를 포함하고 있을 경우 true를 반환 -->
contains(str1,str2): ${fn:contains("토마토","마")} <br/>
<!-- split(str1,str2) : str2를 기준으로 str1을 분리해서 배열로 반환 -->
<c:set var="text" value="Hello,World"/>
split(str1,str2): ${fn:split(text,',')[0]} <br/>
<c:set var="sports" value="축구,야구,농구,배구,수영,골프"/>
<c:set var="arr1" value="${fn:split(sports, ',')}" />
<!-- join(array,str2) : array에 저장된 문자열을 합침, 각 문자열의 사이에는 str2가 붙음 -->
<c:set var="arr2" value="${fn:join(arr1,'/')}"/>
<c:out value="arr2 - ${arr2}"/><br/>
<!-- escapeXml(str) : XML의 객체 참조에 해당하는 특수문자를 처리함 false일 경우 특수문자숨김 -->
<%-- <c:set var="str1" value="<a>Hello World 1</a>"/> --%>
<c:out value="<a>Hello World 1</a>" escapeXml="true"/>
실행결과

'Java' 카테고리의 다른 글
| 클래스, 객체, 인스턴스 (0) | 2022.09.05 |
|---|---|
| JSTL Tag (1) (0) | 2022.05.26 |
| 자바로 1:1 채팅하기 (0) | 2022.05.12 |
| File I/O로 파일 복사하기 (0) | 2022.05.06 |
| 자바의 IO(Input/Output) (0) | 2022.05.06 |