Как отобразить форматированный тип Календаря в JSTL? - PullRequest
8 голосов
/ 17 мая 2010

Я использую тип календаря в Java и хочу отображать отформатированную дату в JSTL.

Я пытался:

<%@ 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}" />

Но это не работает:

java.text.ParseException: Неразборчивая дата

Может ли формат JSTL Calendar печататься?

1 Ответ

26 голосов
/ 17 мая 2010

Нет, он может форматировать только тип java.util.Date, поскольку он использует DateFormat#format() под капотами. Используйте Calendar#getTime(), чтобы взять его из Calendar.

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

Обратите внимание, что для этого вам нужно fmt:formatDate, а не fmt:parseDate. Форматирование преобразует объект Date в удобочитаемую строку даты, а синтаксический анализ - преобразование читаемой человеком строки даты в Date объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...