LocalDateTime
자바 객체를 JSP에 ${created}
와 같이 그대로 출력하면 다음과 같이 표시된다.
2024-06-10T11:50:30.531836
따라서 yyyy-MM-dd hh:mm:ss
형식으로 표시하기 위해 fmt
태그 라이브러리를 사용했는데 아래와 같은 오류가 발생했다. LocalDateTime
를 Date
타입으로 변경할 수 없다고 한다.
<fmt:formatDate value="${created}" pattern="yyyy-MM-dd hh:mm:ss"/>
Cannot convert [2024-05-08T15:03:30.531836] of type [class java.time.LocalDateTime] to [class java.util.Date]
jakarta.el.ELException: Cannot convert [2024-05-08T15:03:30.531836] of type [class java.time.LocalDateTime] to [class java.util.Date]
JSTL이 너무 오래된 기술이라 Java 8의 LocalDateTime
을 지원하지 않는다고 한다. 🔗 Stackoverflow에 따르면 커스텀 함수를 만들거나 다른 태그 라이브러리를 가져와 사용하는 방법도 있지만, 기존 fmt
함수를 이용해 다음과 같이 해결하였다.
<fmt:parseDate value="${vo.createdDate}" pattern="yyyy-MM-dd'T'HH:mm:ss" var="createdDate"/>
<fmt:formatDate value="${vo.createdDate}" pattern="yyyy-MM-dd HH:mm:ss"/>