简体   繁体   中英

How to display formatted Calendar type in JSTL?

I am using Calendar type in Java and I would like to display formatted date in JSTL.

I was trying:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<fmt:parseDate var="date" type="date" dateStyle="short" value="${photo.dateCreated}" />
<c:out value="${data}" />

But it doesn't work:

java.text.ParseException: Unparseable date

Can JSTL format Calendar type?

No, it can only format the java.util.Date type since it uses DateFormat#format() under the hoods. Use Calendar#getTime() to grab it from the Calendar .

<fmt:formatDate value="${photo.dateCreated.time}" type="date" dateStyle="short" />

Note that you need fmt:formatDate for this, not fmt:parseDate . Formatting is converting a Date object into a human readable date string and parsing is converting a human readable date string into a Date object.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM