JSTL 형식화(Formatting) 태그는 다국어(국제화) 웹사이트에서 텍스트, 날짜, 시간, 숫자 등을 원하는 형식에 맞게 표시하고 변환할 때 사용하는 태그입니다. 이 태그들을 활용하면 로케일(locale)에 따라 통화 기호, 날짜 패턴, 소수점 표기 방식 등을 손쉽게 처리할 수 있어 국제화 작업이 한결 간편해집니다.
JSTL 형식화 라이브러리 포함 방법
JSP에서 형식화 태그를 사용하려면 먼저 아래와 같이 taglib 지시문을 통해 Formatting 라이브러리를 페이지 상단에 포함해야 합니다.
<%@ taglib prefix = "fmt" uri = "https://java.sun.com/jsp/jstl/fmt" %>
JSTL 형식화 태그 종류 및 설명
다음 표는 JSTL에서 제공하는 주요 형식화 태그와 각각의 역할을 정리한 것입니다.
| 번호 | 태그 및 설명 |
|---|---|
| 1 | <fmt:formatNumber>: 숫자 값을 지정한 정밀도나 형식에 맞게 출력합니다. |
| 2 | <fmt:parseNumber>: 숫자, 통화 또는 백분율로 표현된 문자열을 해석(parsing)합니다. |
| 3 | <fmt:formatDate>: 지정한 스타일과 패턴을 사용하여 날짜 및/또는 시간을 형식화합니다. |
| 4 | <fmt:parseDate>: 날짜 및/또는 시간으로 표현된 문자열을 해석합니다. |
| 5 | <fmt:bundle>: 태그 본문(body) 내에서 사용할 리소스 번들(resource bundle)을 로드합니다. |
| 6 | <fmt:setLocale>: 지정한 로케일(locale)을 로케일 구성 변수에 저장합니다. |
| 7 | <fmt:setBundle>: 리소스 번들을 로드하여 이름이 지정된 범위 변수(scope variable) 또는 번들 구성 변수에 저장합니다. |
| 8 | <fmt:timeZone>: 태그 본문 안에 중첩된 시간 형식화 또는 파싱 작업에 적용할 시간대(time zone)를 지정합니다. |
| 9 | <fmt:setTimeZone>: 지정한 시간대를 시간대 구성 변수에 저장합니다. |
| 10 | <fmt:message>: 국제화된 메시지를 화면에 표시합니다. |
| 11 | <fmt:requestEncoding>: 요청(request)의 문자 인코딩을 설정합니다. |
마무리
JSTL 형식화 태그는 숫자·날짜 포맷부터 로케일 설정, 다국어 메시지 출력까지 국제화에 필요한 기능을 대부분 지원합니다. 특히 <fmt:formatNumber>, <fmt:formatDate>, <fmt:message> 세 가지 태그는 실무에서 가장 많이 사용되므로 먼저 익혀두면 좋습니다.