错误:无法将java.lang.String类型的属性值转换为必需类型java.util.Date

时间:2017-09-08 16:01:57

标签: sql-server spring hibernate date jquery-ui

我知道这已被问到很多。但我尝试了所有的解决方案,但仍无法解决问题。

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。没有区别。我可以使用数据类型Stringvarchar保存它。我想将其保存为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]

1 个答案:

答案 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" ));
}