VwpFAQDropdownDatetimeJa
コンバータ/ドロップダウンリスト: 日時コンバータを認識するドロップダウンリストを作成する方法を教えてください。
日時コンバータに関する問題があります。ドロップダウンリストを追加し、日付を含むフィールドを持つデータベース表にバインドしました。ドロップダウンリストに日時コンバータをドロップし、日時コンバータの「pattern」プロパティーを「MMMM, yyyy」に変更しましたが、ドロップダウンリストでは日付の形式が変更されず、デフォルト形式のままです。
これはバグです。この問題を回避する方法を次に示します。
1. データベース表をドロップダウンリストにドラッグ & ドロップします。
2. ドロップダウンリストを含むページの Java ソースを編集します。
3. java.util.List 型の dataOptions という名前のプロパティーを作成します。
/** * Holds value of property dateOptions. */ private java.util.List dateOptions; /** * Getter for property dateOptions. * @return Value of property dateOptions. */ public java.util.List getDateOptions() { return this.dateOptions; } /** * Setter for property dateOptions. * @param dateOptions New value of property dateOptions. */ public void setDateOptions(java.util.List dateOptions) { this.dateOptions = dateOptions; }
4. 次のソースを prerender メソッドに追加します。これで、ラベルが変換済み文字列にリセットされます。
dateOptions = (List)getValue( "#{Page1.tripDataProvider.options[TRIP.DEPDATE,TRIP.DEPDATE]}" ); for( Iterator iter = dateOptions.iterator(); iter.hasNext(); ) { Option op = (Option)iter.next(); Object value = op.getValue(); String label = dropDown1Converter.getAsString( FacesContext.getCurrentInstance(), dropDown1, value ); op.setLabel( label ); }注: JSP ソースコードから
"#{Page1.tripDataProvider.options[TRIP.DEPDATE,TRIP.DEPDATE]}"式をカット & ペーストできます。
5. インポートを修正します。
- アプリケーションが Java EE 5 に基づいている場合、com.sun.webui.jsf.model.Option を選択します。
- アプリケーションが J2EE 1.4 に基づいている場合、com.sun.rave.web.ui.model.Option を選択します。
6. ドロップダウンリストを右クリックし、「プロパティーのバインド」を選択します。ドロップダウンリストの「items」プロパティーを「Page1」>「dateOptions」にバインドします。
デザイン時には abc と表示されますが、実行時には正しい結果が表示されます。
- 日本語訳 : Yuko Ohsumi
- 英文 (翻訳したバージョン: 2)
- 日本語 NetBeans Visual Web Pack ユーザー FAQ へ戻る