JSTL - Functions

이건우·2025년 2월 28일

웹 프로그래밍

목록 보기
10/43

JSTL - Functions라이브러리는 문자열 처리, 리스트 크기 확인,
특정 값 포함 여부 체크 등의 유틸리티 함수를 제공합니다.

++ 선언 필요 테그

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 라이브러리

주요 기능


추신)

c:if 테그는 test 속성의 값이 ture 일 때에만 동작/출력하게 합니다.

문자열 길이 구하기 (fn:length)

특정 문자 및 변수의 길이를 반환합니다.

<c:set var="str" value="JSP with JSTL"/>
<p>문자열 길이: ${fn:length(str)}</p>

문자열 포함 여부 확인 (fn:contains, fn:containsIgnoreCase)

첫번째 인자 내에 두번째 인자가 존재 여부
true, false로 반환합니다.

<c:if test="${fn:contains('Hello World', 'World')}">
    <p>'World'가 포함되어 있습니다.</p>
</c:if>

특정 문자열로 시작/끝 여부 (fn:startsWith, fn:endsWith)

첫번째 인자가 2번쨰 인자로 시작/끝 위치
존재여부를 true, false로 반환합니다.

<c:if test="${fn:startsWith('Spring Framework', 'Spring')}">
    <p>'Spring'으로 시작합니다.</p>
</c:if>

문자열 치환 (fn:replace)

첫번째 인자에서 두번째 인자를 찾아 세번째 인자로 치환하여 반환합니다.

<p>${fn:replace('Hello JSTL', 'JSTL', 'World')}</p>

문자열 나누기 (fn:split)

첫번째 인자를 두번째 인자를 기준으로 나누어,
3개 이상의 갯수로 나뉠 수 있으며, 리스트의 형태로 반환합니다.

<c:set var="words" value="${fn:split('Java,JSP,Spring', ',')}"/>
<c:forEach var="word" items="${words}">
    <p>${word}</p>
</c:forEach>

리스트 문자열로 합치기 (fn:join)

첫번째 인자인 문자열 리스트의 각 문자열들
두번째 인자를 각 문자열들 사이에 추가하며 합쳐서 반환합니다.

<c:set var="wordList" value="${['Java', 'JSP', 'Spring']}"/>
<p>${fn:join(wordList, '-')}</p>

문자열 일부 추출 (fn:substring(after, before))

첫번째 인자 인 문자열에서 두번째인자 번째부터 세번째 인자번째 까지반환합니다.
각 두번째와 세번째 인자는 정수여야 합니다.

<p>${fn:substring('Hello JSTL', 0, 5)}</p>

첫번째 인자인 문자열을 두번째 인자인 문자를 기준으로
왼쪽 부분을 출력합니다.

<p>${fn:substringAfter('abc@domain.com', '@')}</p>

첫번째 인자인 문자열을 두번째 인자인 문자를 기준으로
오른쪽 부분을 출력합니다.

<p>${fn:substringBefore('abc@domain.com', '@')}</p>

XML 특수 문자 변환 (fn:escapeXml)

예약어로 설정된 문자열들을 출력할 수 있도록
문자열 내부의 예약어들을 순수 문자열로 반환합니다.

<p>${fn:escapeXml('<title>JSTL Guide</title>')}</p>

대소문자 변환 (fn:toLower(Upper)Case)

각 대문자는 소문자로,
소문자는 대문자로 치환해서 반환합니다.

<p>${fn:toLowerCase('HELLO')}</p>
<p>${fn:toUpperCase('hello')}</p>

문자열 앞뒤 공백 제거 (fn:trim)

인자로 제공된 문자열의 앞 뒤 공백을 제거하고 반환합니다.

<p>${fn:trim('   Hello   ')}</p>
profile
새싹개발자

0개의 댓글