在我的JSP页面的jdk-1.7.0_51
平台上使用tomcat-7.0.42
和windows 7
:
<fmt:formatDate value='${abtest.modifiedDate}' pattern="yyyy-MM-dd HH:mm:ss"/>
其中abtest.modifiedDate
属性的类型为java.util.Date
,并使用java.sql.Timestamp
实例初始化。
抛出以下异常:
javax.servlet.jsp.JspException: javax.el.ELException: Cannot convert 1/24/14 4:31 PM of type class java.sql.Timestamp to class org.joda.time.DateTime
错误似乎很奇怪,因为abtest.modifiedDate
属性未使用org.joda.time.DateTime
初始化,并且在所有环境中都不会发生。
还尝试用<fmt:formatDate...
标记替换<joda:format ...
,但又出现了其他错误:
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: value attribute of format tag must be a ReadableInstant or ReadablePartial, was: java.sql.Timestamp
答案 0 :(得分:1)
在实体类的DateTime
字段中添加此注释
@Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
private DateTime birthDay;
在JSP
中,继续使用joda format tag
:
<c:set var="formattedDateTimeValue">
<joda:format value="${DateTimeValue}" pattern="dd.MM.yyyy" />
<!-- Or any pattern you want -->
</c:set>