[jsp] 문자열 처리 함수 사용하기

hoonak·2023년 9월 9일
0

JSP

목록 보기
12/12

자바에서 문자열을 처리할 때 사용하는 문자열 관련 기능을 jstl에서 제공하는 함수를 이용해 jsp에서도 사용할 수 있음.

아래 나오지 않는 문자열 기능은 가자 String 클래스의 메서드 기능을 참고.

- JSTL에서 제공하는 여러 가지 문자열 함수

  1. fn:contains(A, B) - boolean : 문자열 A에 문자열 B가 포함되어 있는지 확인함.

  2. fn:endWith(A, B) - boolean : 문자열 A의 끝이 B로 끝나는지 확인함.

  3. fn:indexOf(A, B) - int : 문자열 A에서 B가 처음으로 위치하는 인덱스(index)를 반환함.

  4. fn:lenght(A) - int : 문자열 A의 전체 길이를 반환함.

  5. fn:replace(A, B, C) - String : 문자열 A에서 B까지 해당되는 문자를 찾아 C로 변환함.

  6. fn:toLowerCase(A) - String : A를 모두 소문자로 변환함.

  7. fn:toUpperCase(A) - Sring : A를 모두 대문자로 변환함.

  8. fn:substring(A, B, C) - String : A에서 인덱스 번호 B에서 C까지 해당하는 문자열을 반환함.

  9. fn:split(A, B) - String[ ] : A에서 B에서 지정한 문자열로 나누어 배열로 반환함.

  10. fn:trim(A) - String : 문자열 A에서 앞뒤 공백을 제거함.

예 )

  • fnTest.jsp

문자열 함수를 사용하려면 먼저 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>

profile
Hello World!

0개의 댓글