2017-09-08 30 views
-1

これは多くの質問がありました。しかし、私はすべてのソリューションを試しても、まだ問題を解決することができません。エラー:java.lang.String型のプロパティ値を必須型java.util.Dateに変換できませんでした

@Temporal(TemporalType.DATE) 
private Date projectDate; 

EntityForm.java(getterとsetterを持つ):

private Date projectDate; 

EntityJsp.jspx:(getterとsetterを持つ)

Entity.java

<form:input id="project-projectDate" path="entityForm.projectDate" 
class="form-control datepickerDateFuture"/> 

マイテーブルのエンティティのデータ型はprojectDateで、dateです。

Entity.javaフィールドで@DateTimeFormat(pattern="MM/dd/yyyy")を試してみました。違いはありません。データ型はStringvarcharで問題なく保存できます。私はそれを保存したいDate

私の環境は:Spring、Hibernate、jquery、SQL Serverです。

エラーは次のとおりです。[OK]を

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

。だから私は問題を理解した。私の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")); 
} 
関連する問題