ではなく、コンポーネントをフィールドに<ice:selectInputDate>マップする方法を知っている人はいますか?java.util.Calendarjava.util.Date
私はIceFacesバージョン 1.8.2からコンポーネントを使用しています<ice:selectInputDate>。このコンポーネントは、プロパティにバインドする必要がありますjava.util.Date。たとえばvalue="#{bean.myDate}"、myDateフィールドのタイプは である必要がありますjava.util.Date。しかし、日付フィールドがタイプである必要がありますjava.util.Calendar。
私の試用版: 標準コンバーターまたはカスタム コンバーターを使用しようとしました。
標準的なもの:
<f:convertDateTime pattern="dd/MM/yyyy" />GUI で正しい値をフォーマットしますがbean.myDate、タイプのプロパティに設定すると、Calendar次のエラー メッセージが表示されます。[5/3/10 12:09:18:398 EEST] 00000021 ライフサイクル I 警告: FacesMessage はキューに入れられましたが、表示されていない可能性があります。sourceId=j_id12:j_id189:myDate[重大度=(エラー 2)、概要=(/WEB-INF/xhtml............file.xhtml @507,51 値="#{bean. myDate}": クラス 'bean' のプロパティ 'myDate' を値 '5/11/10 3:00 AM' に設定できません。)、detail=(/WEB-INF/xhtml........ file.xhtml @507,51 value="#{bean.myDate}": クラス '...bean...' のプロパティ 'myDate' を値 '5/11/10 3:00 AM' に設定できません.)]
カスタム 1:
<f:converter converterId="c2d"/>- getAsObject -
java.util.Calendar送信された からオブジェクトを返しますString。 - getAsString - を受け取り、フォーマットされた
Objectものを返します。String
- getAsObject -
注: このメソッドはハッキングされたので、メソッドjava.util.Calendarを補完するものと期待するのではなくgetAsObject. 代わりに、ハッキングされたメソッドは、 ( によって) パラメータとして提供される をgetAsString期待し、フォーマットされたを返します。java.util.Dateice:selectInputDateString
しかし、それでもエラー メッセージが表示されます。
[5/3/10 12:55:34:299 EEST] 0000001f D2DFaceletVie E com.icesoft.faces.facelets.D2DFaceletViewHandler renderResponse renderResponse の問題: java.util.GregorianCalendar は java.util.Date java.lang.ClassCastException と互換性がありません: java.util.GregorianCalendar は、com.icesoft.faces.component.selectinputdate.SelectInputDate.getTextToRender(SelectInputDate.java:252) で java.util.Date と互換性がありません
どんなヒントもとても役に立ちます!ありがとう、ミハエラ