JSP에서 JSTL 함수 태그로 배열 및 컬렉션 처리하는 방법

JSP에서 JSTL 함수 태그로 배열 및 컬렉션 처리하는 방법

이번 글에서는 JSTL 함수 태그를 활용하여 컬렉션과 배열을 처리하는 방법에 대해 알아봅니다. JSP에서 자바 코드를 최소화하고, 간결하게 컬렉션 작업을 수행할 수 있도록 도와주는 fn:length, fn:join, fn:split 등의 함수를 예제와 함께 알아보겠습니다.

1. fn:length 함수

fn:length 함수는 컬렉션, 배열, 또는 문자열의 길이를 반환합니다. 이 함수를 사용하여 JSP에서 간단하게 데이터의 크기를 확인할 수 있습니다.

<%@ 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:length 예제</title>
</head>
<body>
    <h1>JSTL fn:length 예제</h1>
    
    <% 
        String[] fruits = {"Apple", "Banana", "Cherry", "Date"};
        request.setAttribute("fruits", fruits);  // 배열을 request 스코프에 저장
    %>
    
    <p>과일 배열의 길이: 
        <c:out value="${fn:length(requestScope.fruits)}" />
    </p>
</body>
</html>

위 예제에서는 `fruits` 배열의 길이를 계산하여 JSP 페이지에 출력합니다. fn:length 함수는 자바의 length 메서드와 유사하게 동작합니다.

fn:length 함수 예제 코드 실행 결과 화면

2. fn:join 함수

fn:join 함수는 배열의 요소들을 특정 구분자로 결합하여 하나의 문자열로 반환합니다. 이 함수를 사용하여 배열을 쉽게 문자열로 변환할 수 있습니다.

<%@ 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:join 예제</title>
</head>
<body>
    <h1>JSTL fn:join 예제</h1>
    
    <% 
        String[] fruits = {"Apple", "Banana", "Cherry", "Date"};
        request.setAttribute("fruits", fruits);  // 배열을 request 스코프에 저장
    %>
    
    <p>결합된 문자열: 
        <c:out value="${fn:join(requestScope.fruits, ', ')}" />
    </p>
</body>
</html>

위 예제에서는 `fruits` 배열의 요소들을 콤마와 공백으로 구분하여 하나의 문자열로 결합합니다. 이 함수는 문자열 조작을 간편하게 해줍니다.

fn:join 함수 예제 코드 실행 결과 화면

3. fn:split 함수

fn:split 함수는 문자열을 특정 구분자로 분리하여 배열로 반환합니다. 이 함수를 사용하여 문자열을 배열로 분해하고, 각각의 요소를 처리할 수 있습니다.

<%@ 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:split 예제</title>
</head>
<body>
    <h1>JSTL fn:split 예제</h1>
    
    <c:set var="colors" value="Red,Green,Blue,Yellow" />
    
    <p>분리된 배열의 요소:</p>
    <ul>
        <c:forEach var="color" items="${fn:split(colors, ',')}">
            <li>${color}</li>
        </c:forEach>
    </ul>
</body>
</html>

위 예제에서는 `colors`라는 문자열을 콤마로 분리하여 배열로 변환한 후, 각 요소를 리스트로 출력합니다. 이 방법을 통해 쉽게 문자열을 분해하고 처리할 수 있습니다.

fn:split 함수 예제 코드 실행 결과 화면

결론

JSTL의 함수 태그를 활용하면 JSP에서 복잡한 자바 코드를 작성하지 않고도 다양한 컬렉션과 문자열 처리를 간편하게 수행할 수 있습니다. fn:length, fn:join, fn:split 함수는 이러한 작업을 보다 직관적이고 효율적으로 처리할 수 있게 해주며, JSP 코드의 가독성과 유지보수성을 높이는 데 큰 도움이 됩니다.

함께 보면 좋은 이전 게시글

위로 스크롤