【问题标题】:How to convert a java Date to a ReadableInstant for Joda Time inside a JSP?如何在 JSP 中将 Java 日期转换为 Joda Time 的 ReadableInstant?
【发布时间】:2011-02-28 02:24:34
【问题描述】:

我在我的controller 中实例化了一个名为myDatejava.util.Date 对象,并将它传递给我的JSP,我在页面顶部配置了一个Joda Time JSP 标记:

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

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

但是,当我尝试像这样从 JSP 访问 myDate 时:

<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

参考documentation for the Joda Time JSP tags,我不知道在这个JSP 的上下文中我应该如何将我的myDate“转换”为ReadableInstantReadablePartial

【问题讨论】:

  • 请不要将第 3 方标记库与 JSTL 混淆。我从问题中删除了 JSTL 标签。

标签: java jsp date jodatime


【解决方案1】:

错误信息不言自明。 JodaTime 标签不接受 Java SE 标准 Date 实例,而是 JodaTime DateTime 实例或任何实现 JodaTime 的 ReadableInstantReadablePartial 的实例。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2021-07-19
    • 2018-09-21
    相关资源
    最近更新 更多