Как преобразовать Java-дату в ReadableInstant для Joda Time внутри JSP? - PullRequest
9 голосов
/ 28 февраля 2011

Я создал экземпляр java.util.Date объекта с именем myDate в моем controller и передал его в мой JSP, где у меня есть тег JSP Time JSP, настроенный с этим в верхней части страницы:

<%@taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %>

и, конечно, необходимые Maven зависимости, добавленные в проект через файл POM.

Однако, когда я пытаюсь получить доступ к myDate из JSP, вот так:

<joda:format value="${myDate}" style="SM" />

Я получаю эту ошибку:

javax.servlet.jsp.JspException: 
value attribute of format tag must be a 
ReadableInstant or ReadablePartial, was: java.util.Date

Ссылаясь на документацию для JSP-тегов Joda Time , я не могу сказать, как мне «преобразовать» мой myDate в ReadableInstant или ReadablePartial в контексте этого JSP.

1 Ответ

15 голосов
/ 28 февраля 2011

Сообщение об ошибке самоочевидно. Теги JodaTime не принимают стандартный экземпляр Java SE Date, но экземпляр JodaTime DateTime или любой другой объект, реализующий JodaTime ReadableInstant или ReadablePartial.

Вам необходимо преобразовать его перед тем, как предоставить его представлению.

DateTime dateTime = new DateTime(date.getTime());
request.setAttribute("myDate", dateTime);
...