본문 바로가기
프로그래밍 언어/java + jsp + jstl

[jstl] Date형과 String형인 경우 jstl(fmt)로 날짜 포맷에 맞게 출력하는 방법

by 우림 2016. 11. 11.

java에서 Date형과 String형으로 변수를 보내줄 경우

jstl에서 각각 처리하는 방법이 다른데요.

어떻게 하는지 알아보겠습니다.

<fmt:formatDate value="${noticePostDate}" pattern="yyyy.MM.dd"/>
noticePostDate 이라는 변수에 Date형으로 값이 들어있을 때는 위와 같이 적어주면 됩니다.
<fmt:parseDate value="${noticeDateStr}" var="noticePostDate" pattern="yyyyMMdd"/>
<fmt:formatDate value="${noticePostDate}" pattern="yyyy.MM.dd"/>
noticeDateStr라는 변수에 String형으로 '20161111' 이런식으로 값이 들어있들 때 위처럼 처리하면 됩니다.

즉, String형을 Date 형식으로 변환해서 noticeDate이라는 변수에 저장한 후, 다시 원하는 포맷에 맞게 바꿔주는 것이죠.

java에서 String형이 아닌 Date형으로 값을 내려줘야 작업이 좀 더 편할 수 있겠죠?
<a href="#" onclick="javascript:goMenuDash('notice', '${list.serialNumber}');">
	<span class="txt">${list.noticeTitle}</span><span class="date">
		<fmt:parseDate value="${list.noticePostDate}" var="noticePostDate" pattern="yyyyMMdd"/>
		<fmt:formatDate value="${noticePostDate}" pattern="yyyy.MM.dd"/>
	</span>
</a>
지금 하고 있는 프로젝트에서 jstl을 이용해서 날짜를 화면에 출력해 봤습니다.

list.noticePostDate라는 변수에 '20161110'이라는 String 값이 들어있고,
'2016.11.10'이라고 화면에 출력하고 싶어서 위와 같이 코딩했습니다.

이렇게 하니 원하는대로 잘 출력이 되네요^^

댓글