2009년 5월 19일 화요일

[JSTL Tip]fmt:formatDate를 이용한 날짜 출력

JSTL에는 많은 기능들이 있으나, 대체로 일일히 기억한 상태로 사용하기에는 부담이 많다. 그래서 하나씩 정리해 두어야 하는데 오늘은 날짜를 출력하기 위한 fmt:formatDate를 사용해 본다.

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>


JSP 코드에는 당연히 위의 선언문이 필요하다. 다음은 fmt:formatDate 태그를 이용하여 날짜를 출력해보자.

<c-rt:set var="now" value="<%=new java.util.Date()%>" />

<fmt:formatDate value="${now}" pattern="yyyy-MM-dd hh:mm:ss" />


위와 같은 형태로 formatDate를 사용하면 다음과 같은 형태로 우리가 알기 쉬운 형태로 보이게 된다.

2008-01-28 11:20:49

여기서 한 가지 주의할 점은 보통 자바에서 날짜를 long 타입으로 정의해 놓은 스팩이 많다. 파일의 lastModified 메소드도 리턴형이 long으로 되어 있다. 따라서 만약에 파일의 최종 수정일을 위와 같은 날짜의 형태로 보여주기 위해서는 해당 lastModified 메소드로 리턴되는 long을 아래와 같이 임시 변수에 set 한 후에, 출력해야 한다.

<c-rt:set var="tempDate" value="<%= new java.util.Date(file.lastModified()) %>">




이와 관련된 스팩과 많은 예제를 인터넷에서 찾아볼 수 있다. 대략 정리해 보면 다음과 같다.

JSTL 기초, Part 1: Expression Language (한글) :  http://www.ibm.com/developerworks/kr/library/j-jstl0211.html
JSTL 기초, Part 2: core 분석 (한글) : http://www.ibm.com/developerworks/kr/library/j-jstl0318/
JSTL 기초, Part 4: SQL과 XML 콘텐트에 액세스 하기 (한글) : http://www.ibm.com/developerworks/kr/library/j-jstl0520/

댓글 없음: