我知道这已被问到很多。但我尝试了所有的解决方案,但仍无法解决问题。
Entity.java(带有getter和setter):
@Temporal(TemporalType.DATE)
private Date projectDate;
EntityForm.java(带有getter和setter):
private Date projectDate;
EntityJsp.jspx:
<form:input id="project-projectDate" path="entityForm.projectDate"
class="form-control datepickerDateFuture"/>
我的表格实体的projectDate
列数据类型为date
。
我尝试在@DateTimeFormat(pattern="MM/dd/yyyy")
字段上使用Entity.java
。没有区别。我可以使用数据类型String
和varchar
保存它。我想将其保存为Date
我的环境是:Spring,Hibernate,jquery,SQL Server。
错误是:
Failed to convert property value of type java.lang.String to required type java.util.Date for property entityForm.projectDate; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [09/27/2017]
答案 0 :(得分:0)
确定。所以我想出了问题所在。页面上还有其他日期字段,我在Controller类中绑定了DateFormatter
方法。
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.addCustomFormatter(new DateFormatter("MM/dd/yyyy HH:mm:ss"));
}
要修复它,我必须添加另一种格式,特别是对于我的字段。
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.addCustomFormatter(new DateFormatter("MM/dd/yyyy HH:mm:ss"));
binder.addCustomFormatter(new DateFormatter("MM/dd/yyyy","entityForm.projectDate" ));
}