2017-05-25 19 views
0

私の春のMVCアプリケーションでは、1つのモデル、従業員は1つのLocalDateフィールドのdateOfBirthを持っています。モデルをModelAndViewオブジェクトのコントローラからjspに送信しています。ここでは、dateOfBirthはjspで出力されず、次の例外がスローされました。変換元はjava.lang.Stringのインスタンスでなければなりません。代わりに、それはjava.time.LocalDateでした

変換元はjava.lang.Stringのインスタンスである必要があります。代わりにそれはjava.time.LocalDateでした

私のJSPスニペットは私のモデルオブジェクトを表示します。

<form:form id="employeeForm" modelAttribute="command" action="${addEmployee}" method="POST"> 
      <table> 
       <tr> 
        <td>Name: </td> 
        <td><form:input path="name"/></td> 
       </tr> 
       <tr> 
        <td>Date of Birth: </td> 
        <td><form:input path="dateOfBirth"/></td> 
       </tr> 
       <tr> 
        <td>Designation: </td> 
        <td><form:input path="designation"/></td> 
       </tr> 
       <tr> 
        <td colspan="2"><input type="submit" value="Submit"/></td> 
       </tr> 
      </table> 
     </form:form> 

また、適切な形式で日付を送信しているため、解析する必要はありません。唯一の問題は、日付をStringとして表示することです。

答えて

-1

SpringがHMTL入力の文字列をJavaオブジェクトに変換できるように、Convertersを定義する必要があります。私はこの記事を見つけました。私はそれがあなたを助けることができると思います:JSP form date input field

おはようございます!

+0

を印刷する必要があります

LocalDate localDate = LocalDate.now();//For reference DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy"); String formattedString = localDate.format(formatter); 

これはまさにあなたは、いくつかのサンプルコードが含まれている必要があり、質問に答えていません。以下を参照してください:[良い答えを書くにはどうすればいいですか?](https://stackoverflow.com/help/how-to-answer) – CodingNinja

+0

こんにちは..このメソッドはjspからコントローラへの入力に問題ありません。しかし、データがコントローラからJSPに渡されても、まだ動作していません。今度は別のエラーメッセージ "LocalDateからDateに変換できません"がスローされます。 InitiBinderでは、私はLocalDateをバインディングに使用しました。 – Sriram

0

モデルクラス属性dateOfBirthに希望の日付形式の@DateTimeFormat注釈を使用する必要があります。

例:

import org.springframework.format.annotation.DateTimeFormat; 

@DateTimeFormat(pattern = "dd-MM-yyyy") 
private LocalDate dateOfBirth; 

あなたはjava.util.Date、java.util.Calendarの、java.lang.Longの、ジョダ-Time値の型に@DateTimeFormat注釈を適用することができます。 Spring 4とJDK 8では、JSR-310のjava.time型にも対応しています。

詳しくはAPI Referenceを参照してください。

+0

モデルクラスでアノテーションを適用しましたが、バックエンドとうまく動作しています。 jspで表示しようとすると、「LocalDateからDateに変換できません」というエラーがスローされます。また、私はLocalDateをjspで直接印刷するとうまくいきます。しかし、私はコマンドオブジェクトからそれを表示することができません。 – Sriram

0

LocalDateオブジェクトをStringに変換してから印刷してください。 5月26日に2017年

+0

それもやってみました。 LocalDateフィールドを文字列として返すようにgetterメソッドを変更しました。それでも、JSPページで同じエラーが発生しています。 – Sriram

関連する問題