JSP에서 JSTL 함수 태그 활용하여 문자열 처리하는 방법

JSP에서 JSTL 함수 태그 활용하여 문자열 처리하는 방법

이번 글에서는 JSTL 함수 태그의 개요와 역할에 대해 살펴보고, 문자열 처리 함수들을 활용하여 JSP 페이지에서 문자열 조작을 간편하게 수행하는 방법에 대해 알아봅니다. JSTL 함수 태그는 JSP 페이지에서 자주 사용되는 문자열 관련 작업을 더욱 쉽게 처리할 수 있도록 도와줍니다.

1. JSTL 함수 태그 개요

JSTL 함수 태그는 JSP에서 문자열과 컬렉션을 조작하기 위한 다양한 유틸리티 기능을 제공합니다. 이 함수들은 JSP 페이지에서 자바 코드를 삽입하지 않고도 문자열 검색, 문자열 분할, 특정 문자열의 부분 추출 등을 간단하게 처리할 수 있게 해줍니다.

이러한 함수들은 `fn` 네임스페이스를 사용하며, JSTL 표준 태그 라이브러리 중 하나로 제공됩니다. JSP 페이지에서 JSTL 함수 태그를 사용하려면 아래와 같이 태그 라이브러리를 선언해야 합니다.

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

2. 문자열 함수 활용

JSTL의 문자열 함수는 문자열 내 특정 값을 검색하거나, 문자열이 특정 조건을 만족하는지 확인하거나, 문자열의 일부를 추출하는 등의 작업을 쉽게 수행할 수 있도록 도와줍니다. 주요 함수들은 다음과 같습니다.

  • fn:contains: 특정 문자열이 다른 문자열에 포함되어 있는지 확인합니다.
  • fn:startsWith: 문자열이 특정 접두사로 시작하는지 확인합니다.
  • fn:endsWith: 문자열이 특정 접미사로 끝나는지 확인합니다.
  • fn:substring: 문자열의 특정 부분을 추출합니다.

2.1 fn:contains 사용 예제

fn:contains 함수는 지정된 문자열이 다른 문자열 내에 포함되어 있는지 확인합니다. 아래는 이 함수를 사용하는 예제입니다.

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<html>
<head>
    <title>JSTL fn:contains 예제</title>
</head>
<body>
    <h1>JSTL fn:contains 예제</h1>
    
    <% 
        String message = "Welcome to BlueShare!";
        request.setAttribute("message", message);  // request 스코프에 저장
    %>
    
    <p>메시지: <%= message %></p>
    <p>"BlueShare" 포함 여부: 
        <c:out value="${fn:contains(requestScope.message, 'BlueShare')}" />
    </p>
</body>
</html>
fn:contains 사용 예제 코드 실행 결과 화면

2.2 fn:startsWith 사용 예제

fn:startsWith 함수는 문자열이 특정 접두사로 시작하는지 확인합니다. 아래는 이 함수를 사용하는 예제입니다.

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<html>
<head>
    <title>JSTL fn:startsWith 예제</title>
</head>
<body>
    <h1>JSTL fn:startsWith 예제</h1>
    
    <% 
        String url = "https://www.blueshare.com";
        request.setAttribute("url", url);  // request 스코프에 저장
    %>
    
    <p>URL: <%= url %></p>
    <p>"https"로 시작하는지 여부: 
        <c:out value="${fn:startsWith(requestScope.url, 'https')}" />
    </p>
</body>
</html>
fn:startsWith 사용 예제 코드 실행 결과 화면

2.3 fn:endsWith 사용 예제

fn:endsWith 함수는 문자열이 특정 접미사로 끝나는지 확인합니다. 아래는 이 함수를 사용하는 예제입니다.

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<html>
<head>
    <title>JSTL fn:endsWith 예제</title>
</head>
<body>
    <h1>JSTL fn:endsWith 예제</h1>
    
    <% 
        String filename = "document.pdf";
        request.setAttribute("filename", filename);  // request 스코프에 저장
    %>
    
    <p>파일 이름: <%= filename %></p>
    <p>".pdf"로 끝나는지 여부: 
        <c:out value="${fn:endsWith(requestScope.filename, '.pdf')}" />
    </p>
</body>
</html>
fn:endsWith 사용 예제 코드 실행 결과 화면

2.4 fn:substring 사용 예제

fn:substring 함수는 문자열의 특정 부분을 추출합니다. 아래는 이 함수를 사용하는 예제입니다.

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<html>
<head>
    <title>JSTL fn:substring 예제</title>
</head>
<body>
    <h1>JSTL fn:substring 예제</h1>
    
    <% 
        String fullname = "John Doe";
        request.setAttribute("fullname", fullname);  // request 스코프에 저장
    %>
    
    <p>전체 이름: <%= fullname %></p>
    <p>이름만 추출: 
        <c:out value="${fn:substring(requestScope.fullname, 0, 4)}" />
    </p>
</body>
</html>
fn:substring 사용 예제 코드 실행 결과 화면

3. 결론

JSTL의 함수 태그를 사용하면 JSP 페이지에서 자바 코드를 삽입하지 않고도 문자열 처리 작업을 간편하게 수행할 수 있습니다. fn:contains, fn:startsWith, fn:endsWith, fn:substring과 같은 함수를 통해 문자열 조작을 더 효율적으로 처리할 수 있으며, 이를 통해 JSP 페이지의 가독성과 유지보수성을 높일 수 있습니다. 다음 글에서는 JSTL 함수 태그를 활용한 컬렉션 처리에 대해 알아보겠습니다.

함께 보면 좋은 이전 게시글

위로 스크롤