자바에서 문자열을 처리할 때 사용하는 문자열 관련 기능을 jstl에서 제공하는 함수를 이용해 jsp에서도 사용할 수 있음.
아래 나오지 않는 문자열 기능은 가자 String 클래스의 메서드 기능을 참고.
- JSTL에서 제공하는 여러 가지 문자열 함수
fn:contains(A, B) - boolean : 문자열 A에 문자열 B가 포함되어 있는지 확인함.
fn:endWith(A, B) - boolean : 문자열 A의 끝이 B로 끝나는지 확인함.
fn:indexOf(A, B) - int : 문자열 A에서 B가 처음으로 위치하는 인덱스(index)를 반환함.
fn:lenght(A) - int : 문자열 A의 전체 길이를 반환함.
fn:replace(A, B, C) - String : 문자열 A에서 B까지 해당되는 문자를 찾아 C로 변환함.
fn:toLowerCase(A) - String : A를 모두 소문자로 변환함.
fn:toUpperCase(A) - Sring : A를 모두 대문자로 변환함.
fn:substring(A, B, C) - String : A에서 인덱스 번호 B에서 C까지 해당하는 문자열을 반환함.
fn:split(A, B) - String[ ] : A에서 B에서 지정한 문자열로 나누어 배열로 반환함.
fn:trim(A) - String : 문자열 A에서 앞뒤 공백을 제거함.
문자열 함수를 사용하려면 먼저 taglib 디렉티브 태그를 선언해야 함. 문자열 관련 함수 기능은 자바의 String 클래스에서 제공하는 메서드 기능과 같음.
<%@ page language="java" contentType="text/html; charset=UTF-8"
isELIgnored="false"
pageEncoding="UTF-8"%>
<!-- 함수를 사용하기 전에 반드시 선언함. -->
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<%
request.setCharacterEncoding("utf-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:set var = "title1" value = "hello world!"/>
<c:set var = "title2" value = "쇼핑몰 중심 jsp 입니다."/>
<c:set var = "str1" value = "중심"/>
<h2>여러 가지 문자열 함수 기능</h2>
title1 = : "hello world"<br>
title2 = : "쇼핑몰 중심 jsp 입니다."<br>
str1 = "중심"<br><br>
<!-- 문자열 길이를 반환함. -->
fn : length(title1) = ${fn: length(title1) }<br>
<!-- 문자열을 대문자로 반환함. -->
fn : toUpperCase(title1) = ${fn: toUpperCase(title1) }<br>
<!-- 문자열을 소문자로 반환함. -->
fn : toLowerCase(title1) = ${fn: toLowerCase(title1) }<br><br>
<!-- 문자열에서 4~5번째 문자열을 반환함. -->
fn : substring(title1, 3, 6) = ${fn: substring(title1, 3, 6) }<br>
fn : trim(title) = ${fn: trim(title1) }<br>
<!-- 문자열에서 공백을 /로 대체함. -->
fn : replace(title1, " ", "/") = ${fn: replace(title1," ", "/") }<br><br>
<!-- title2 문자열에서 str1의 위치를 구함. -->
fn : indexOf(title2, str1) = ${fn: indexOf(title2, str1) }<br>
<!-- title1 문자열에 str1 문자열이 있는 판별함. -->
fn : contains(title1, str1) = ${fn: contains(title1, str1) }<br>
<!-- 첫 번째 문자열이 두 번째 문자열을 포함하는지 판별함. -->
fn : contains(title2, str1) = ${fn: contains(title2, str1) }<br>
</body>
</html>