JSP에서 JSTL 포맷 태그로 숫자와 날짜를 간편하게 포맷팅하기
이번 글에서는 JSTL 포맷 태그의 기본 개념과 역할을 소개하고, 주로 숫자와 날짜를 포맷팅하는 방법에 대해 알아보겠습니다. JSP에서 데이터를 특정 형식으로 변환하고 출력할 때, JSTL 포맷 태그는 매우 유용하게 사용됩니다. 이 글에서는 <fmt:formatNumber>
와 <fmt:formatDate>
태그를 사용하여 숫자와 날짜를 다양한 형식으로 표현하는 방법을 예제를 통해 알아보겠습니다.
1. JSTL 포맷 태그 개요
JSTL 포맷 태그는 JSP 페이지에서 숫자, 날짜, 시간 등의 데이터를 특정 형식으로 출력하거나 변환하는 데 사용됩니다. 이를 통해 웹 애플리케이션이 국제화(Internationalization)에 대응할 수 있으며, 사용자에게 보다 친숙한 방식으로 데이터를 제공할 수 있습니다. 포맷 태그는 특히 다국어 지원이 필요한 웹 애플리케이션에서 매우 중요합니다.
2. 숫자 포맷팅: <fmt:formatNumber> 태그
<fmt:formatNumber>
태그는 숫자를 특정 형식으로 변환하여 출력하는 데 사용됩니다. 이 태그를 통해 소수점 자리수, 통화 형식, 백분율 등 다양한 방식으로 숫자를 표현할 수 있습니다.
2.1 <fmt:formatNumber> 태그의 주요 속성
- value: 포맷팅할 숫자를 지정합니다.
- type: 포맷팅 유형을 지정합니다. (
number
,currency
,percent
) - pattern: 사용자 정의 패턴을 지정하여 숫자를 포맷할 수 있습니다.
- minFractionDigits, maxFractionDigits: 소수점 이하 자리수의 최소 및 최대 값을 지정합니다.
2.2 <fmt:formatNumber> 태그 예제
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>JSTL fmt:formatNumber 태그 예제</title>
</head>
<body>
<h1>JSTL fmt:formatNumber 태그 예제</h1>
<!-- 기본 숫자 포맷팅 -->
<p>기본 숫자 포맷: <fmt:formatNumber value="1234567.89" /></p>
<!-- 소수점 이하 자리수 지정 -->
<p>소수점 자리수: <fmt:formatNumber value="1234567.89" minFractionDigits="2" maxFractionDigits="2" /></p>
<!-- 통화 포맷팅 -->
<p>통화 포맷: <fmt:formatNumber value="1234567.89" type="currency" /></p>
<!-- 백분율 포맷팅 -->
<p>백분율 포맷: <fmt:formatNumber value="0.75" type="percent" /></p>
<!-- 사용자 정의 패턴 -->
<p>사용자 정의 패턴: <fmt:formatNumber value="1234567.89" pattern="#,###.00" /></p>
<!-- 최대 자릿수 제한 -->
<p>최대 자릿수 제한: <fmt:formatNumber value="1234567.89" maxIntegerDigits="4" /></p>
<!-- 최소 자릿수 제한 -->
<p>최소 자릿수 제한: <fmt:formatNumber value="56.89" minIntegerDigits="5" /></p>
<!-- 그룹화 (천 단위 쉼표) 사용 -->
<p>그룹화 사용: <fmt:formatNumber value="1234567.89" groupingUsed="true" /></p>
<!-- 그룹화 (천 단위 쉼표) 미사용 -->
<p>그룹화 미사용: <fmt:formatNumber value="1234567.89" groupingUsed="false" /></p>
</body>
</html>
이 예제에서는 기본 숫자 포맷, 소수점 자리수, 통화, 백분율 등 다양한 숫자 포맷팅 방법을 보여줍니다. 각 포맷은 <fmt:formatNumber>
태그의 속성을 사용하여 쉽게 조정할 수 있습니다.
▼ 실행 결과

3. 날짜 포맷팅: <fmt:formatDate> 태그
<fmt:formatDate>
태그는 날짜와 시간을 특정 형식으로 변환하여 출력하는 데 사용됩니다. 이 태그를 통해 날짜 형식과 시간 형식을 쉽게 지정할 수 있습니다.
3.1 <fmt:formatDate> 태그의 주요 속성
- value: 포맷팅할 날짜를 지정합니다.
- type: 포맷팅할 데이터의 유형을 지정합니다. (
date
,time
,both
) - dateStyle, timeStyle: 날짜와 시간의 스타일을 지정합니다. (
default
,short
,medium
,long
,full
) - pattern: 사용자 정의 패턴을 지정하여 날짜를 포맷할 수 있습니다.
3.2 <fmt:formatDate> 태그 예제
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>JSTL fmt:formatDate 태그 예제</title>
</head>
<body>
<h1>JSTL fmt:formatDate 태그 예제</h1>
<!-- 현재 날짜 포맷팅 -->
<p>기본 날짜 포맷: <fmt:formatDate value="<%= new java.util.Date() %>" /></p>
<!-- 날짜와 시간 함께 포맷팅 -->
<p>날짜와 시간: <fmt:formatDate value="<%= new java.util.Date() %>" type="both" /></p>
<!-- 사용자 정의 패턴 -->
<p>사용자 정의 패턴: <fmt:formatDate value="<%= new java.util.Date() %>" pattern="yyyy/MM/dd HH:mm:ss" /></p>
<!-- 짧은 형식의 날짜 포맷팅 -->
<p>짧은 형식의 날짜: <fmt:formatDate value="<%= new java.util.Date() %>" dateStyle="short" /></p>
<!-- 긴 형식의 날짜 포맷팅 -->
<p>긴 형식의 날짜: <fmt:formatDate value="<%= new java.util.Date() %>" dateStyle="long" /></p>
<!-- 전체 형식의 날짜 포맷팅 -->
<p>전체 형식의 날짜: <fmt:formatDate value="<%= new java.util.Date() %>" dateStyle="full" /></p>
<!-- 시간만 포맷팅 -->
<p>기본 시간 포맷: <fmt:formatDate value="<%= new java.util.Date() %>" type="time" /></p>
<!-- 짧은 형식의 시간 포맷팅 -->
<p>짧은 형식의 시간: <fmt:formatDate value="<%= new java.util.Date() %>" type="time" timeStyle="short" /></p>
<!-- 전체 형식의 시간 포맷팅 -->
<p>전체 형식의 시간: <fmt:formatDate value="<%= new java.util.Date() %>" type="time" timeStyle="full" /></p>
</body>
</html>
이 예제에서는 현재 날짜를 포맷팅하는 방법과 날짜와 시간을 함께 출력하는 방법, 사용자 정의 패턴을 적용하는 방법을 보여줍니다. <fmt:formatDate>
태그를 사용하여 다양한 날짜 형식을 쉽게 구현할 수 있습니다.
▼ 실행 결과

결론
JSTL의 포맷 태그를 사용하면 JSP 페이지에서 숫자와 날짜를 간단하게 포맷팅할 수 있습니다. <fmt:formatNumber>
와 <fmt:formatDate>
태그를 통해 데이터를 다양한 형식으로 변환하여 사용자에게 더 친숙하게 제공할 수 있습니다. 이러한 포맷 태그를 활용하여 JSP 페이지에서 데이터를 더욱 유연하고 가독성 있게 표현할 수 있습니다.
함께 보면 좋은 이전 게시글
- JSP에서 JSTL 표준 태그 라이브러리 설정 및 사용 방법
- JSP에서 JSTL 코어 태그로 조건문 처리: c:if, c:choose 태그
- JSP에서 JSTL 반복문 처리하기: c:forEach, c:forTokens 태그
- JSP에서 JSTL로 변수와 예외 처리: c:set, c:remove, c:catch 태그
- JSP에서 JSTL로 외부 콘텐츠 가져오기와 리다이렉트 처리하기
이 글이 도움이 되셨다면 공유 부탁 드립니다.