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 메서드와 유사하게 동작합니다.
▼ 실행 결과

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` 배열의 요소들을 콤마와 공백으로 구분하여 하나의 문자열로 결합합니다. 이 함수는 문자열 조작을 간편하게 해줍니다.
▼ 실행 결과

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`라는 문자열을 콤마로 분리하여 배열로 변환한 후, 각 요소를 리스트로 출력합니다. 이 방법을 통해 쉽게 문자열을 분해하고 처리할 수 있습니다.
▼ 실행 결과

결론
JSTL의 함수 태그를 활용하면 JSP에서 복잡한 자바 코드를 작성하지 않고도 다양한 컬렉션과 문자열 처리를 간편하게 수행할 수 있습니다. fn:length, fn:join, fn:split 함수는 이러한 작업을 보다 직관적이고 효율적으로 처리할 수 있게 해주며, JSP 코드의 가독성과 유지보수성을 높이는 데 큰 도움이 됩니다.
함께 보면 좋은 이전 게시글
- JSP에서 JSTL 함수 태그 활용하여 문자열 처리하는 방법
- JSP에서 JSTL 코어 태그로 조건문 처리: c:if, c:choose 태그
- JSP에서 JSTL 반복문 처리하기: c:forEach, c:forTokens 태그
- JSP에서 JSTL 포맷 태그로 숫자와 날짜를 간편하게 포맷팅하기
- JSP EL(Expression Language) 활용하기: 기본 문법과 예제
이 글이 도움이 되셨다면 공유 부탁 드립니다.



