[JSP/JSTL] JSP 문서에서 출력 방식을 도와주는 fmt 태그들

newlec

2019-12-05 AM 10:26 903
JSP 페이지를 구현하다보면 다음과 같은 문제를 만날 수 있다.

1. 내가 원하는 출력 방식은 다음처럼 대시(-)로 구분하고 일자까지만 출력하고 싶지만
    2019-12-25
    
    데이터베이스에서 날짜 가져와서 출력했더니 다음처럼 출력되는 문제
    2019/12/25 12:23:112345

2. 내가 원하는 출력 방식은 다음처럼 천 단위로 쉼표(,)가 포함되는 것이지만
    2,341,525

    조회수를 출력했더니 다음처럼 출력되는 문제
    2341525

이런 문제를 해결하기 위한 코드를, 어떤 이는 컨트롤러(MVC로 만든다고 가정함)에서 작성하기도 하는데, 사실 출력 형식은 View 페이지(JSP 페이지)에서 작성하는 것이 좀 더 바람직하다고 할 수 있다.

물론 View에서는 자바 코드를 사용하는 것이 바람직하지 않기 때문에, 그런 목적에 부합되는 도구로써 JSTL의  Formating 모듈을 사용한다.


[그림 : JSTL 모듈들]

구글 광고가 추가되었습니다.


포맷 모듈을 사용하는 방법은 우선 JSP에 다음과 같은 지시자를 설정하는 것으로 부터 시작한다.

 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"  %>  
[코드 : jstl/fmt 태그 집합을 사용하기 위한 페이지 지시자]

위와 같이 지시자를 설정했다면 이제부터는 다음과 같은 태그들을 사용할 수 있다.

구분태그명설명
숫자/날짜fmt:formatNumber 숫자의 출력 형식 설정
fmt:formatDate
날짜의 출력 형식 설정
fmt:parseNumber숫자 형식의 문자열을 숫자로 변환
fmt:parseDate날짜 형식의 문자열을 날짜로 변환
fmt:timeZone타임존 블록을 설정
fmt:setTimeZone타임존을 설정한다.
지역화/
메시지
fmt:message지역화된 메시지를 출력
fmt:bundle메시지 리소스 블록을 설정
fmt:setBundle메시지 리소스를 설정
fmt:setLocale지역을 설정
fmt:requestEncoding전송할 데이터의 인코딩 설정

[표: 출력  포맷을 지원하는 태그들]


위의 태그들은 사용하는 방법은 생각보다 쉽지만 의외로 많은 옵션들도 함께 가지고 있기 때문에 지면 관계상 다음 글을 통해서 하나씩 개별적으로 알아 보도록 하자.

구글 광고가 추가되었습니다.
 
다음 노트의 내용은  fmt:formatNumber 태그이다.

참고 사이트 : https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fmt/tld-summary.html


네비게이션