如何在JSP中将Java Date转换为Joda Time的ReadableInstant?

Sam*_*ket 11 java jsp date jodatime

我实例化了一个在my中java.util.Date调用的对象myDate,controller并将其传递给我的JSP,我在页面顶部配置了一个Joda Time JSP标记:

<%@taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %>
Run Code Online (Sandbox Code Playgroud)

当然还有Maven通过POM文件添加到项目中的必要依赖项.

但是,当我尝试myDate从JSP 访问时,如下所示:

<joda:format value="${myDate}" style="SM" />
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

javax.servlet.jsp.JspException: 
value attribute of format tag must be a 
ReadableInstant or ReadablePartial, was: java.util.Date
Run Code Online (Sandbox Code Playgroud)

参考Joda Time JSP标签文档,我不知道我应该如何"转换"我myDate的这个ReadableInstantReadablePartial在这个JSP的上下文中?

Bal*_*usC 17

错误消息是自我解释.JodaTime标签不接受Java SE标准Date实例,而是接受JodaTime DateTime实例或任何实现JodaTime ReadableInstantReadablePartial.

您需要在将其提供给视图之前进行转换.

DateTime dateTime = new DateTime(date.getTime());
request.setAttribute("myDate", dateTime);
Run Code Online (Sandbox Code Playgroud)