すべてのADF Facesコンバータがjavax.faces.convert.Converter
インタフェースを実装します。ADF Facesコンバータは、oracle.adf.view.faces.convert
にパッケージ化されています。提供されているADF Facesコンバータ・クラスのセットには、次のリストに示すように、文字列とJavaオブジェクト間の変換機能が備わっています。
ColorConverter
: java.lang.String
とjava.awt.Color
オブジェクト間の変換。指定したカラー・パターンのセットに基づきます。
DateTimeConverter
: java.lang.String
とjava.util.Date
オブジェクト間の変換。指定したパターンおよびスタイルに基づきます。
NumberConverter
: java.lang.String
とjava.lang.Number
オブジェクト間の変換。指定したパターンおよび型に基づきます。
ADF Facesコンバータの詳細は、oracle.adf.view.faces.convert.ColorConverter
、oracle.adf.view.faces.convert.DateTimeConverter
およびoracle.adf.view.faces.convert.NumberConverter
に関するJavadocを参照してください。
提供されているADF Facesコンバータ・タグのセットとその登録済IDは、次のとおりです。
タグ | クラス | 登録済ID |
---|---|---|
af:convertColor
|
ColorConverter
|
oracle.adf.Color
|
af:convertDateTime
|
DateTimeConverter
|
oracle.adf.DateTime
|
af:convertNumber
|
NumberConverter
|
oracle.adf.Number
|
サポートされているタグ属性のリストは、「リファレンス: ADF Facesコンバータおよびバリデータ」を参照してください。
タグを使用するには、提供されているタグをコンポーネント内にネストします。次に、タグの属性を使用して、コンポーネント・データの書式および型を構成します。次に例を示します。
<af:selectInputColor id="sicConv"
chooseId="cpConv"
label="Enter or select color from palette below"
value="#{color.colorValue1}">
<af:convertColor patterns="rrr-ggg-bbb #RRGGBB" transparentAllowed="false" />
</af:selectInputColor>
<af:chooseColor id="cpConv" colorData="#{adfFacesContext.colorPalette.default49}"/>
JSF標準コンバータとは異なり、ADF Facesコンバータでは、サーバー側の変換に加え、クライアント側の変換がサポートされます。ADF Facesのクライアント側の変換には、サーバー側の変換と同じ変換ロジックが用意されています。ただし、クライアントでは、サーバー側で変換時に発生する可能性のある変換エラーに対するチェックにJavaScriptが使用される点が異なります。クライアント側のコンバータでは、変換問題に関する多くの検証チェックがクライアント自体で実行されます。サーバーでJavaオブジェクト間の変換問題がある場合は、クライアント側のコンバータによってエラーが検出されてエラー・メッセージが表示されるため、サーバーへのラウンドトリップを実行せずに済みます。
色、日付および数値に関するJavaScript対応コンバータに加え、ADF Facesには、次のJava型にバインドされる入力テキスト・フィールドに関するJavaScript対応コンバータも用意されています。
java.lang.Integer
java.lang.Long
java.lang.Short
java.lang.Byte
java.lang.Float
java.lang.Double
ADF FacesのJavaScript対応コンバータは、フォームの発行時にクライアントで実行されます。したがって、エラーはサーバーへのラウンドトリップなしに検出可能です。ただし、ADF Facesアプリケーションのクライアント側の変換と検証を無効にできます。「ADF Facesのクライアント側の変換および検証の無効化」を参照してください。
oracle.adf.view.faces.convert.ClientConverter
インタフェースを使用すると、javax.faces.convert.Converter
の実装である既存のコンバータに独自のクライアント側変換を追加できます。クライアント・コンバータのAPIの詳細は、「ADF Facesのクライアント・コンバータおよびバリデータのAPIについて」を参照してください。
ADF Facesコンバータは、タグの実行フェーズ中ではなく、実際の変換の発生時に値バインディングを評価します。これは、コンバータAPIのsetValueBinding(String name, ValueBinding)
およびgetValueBinding(String name)
メソッドによってサポートされます。
ADF Facesでは、変換エラーに関連付けられているFacesMessage
の要約および詳細をカスタマイズできます。
要約をカスタマイズするには、形式CONVERT_xxx_MESSAGE_ID
(xxx
は変換型)のメッセージ識別子のテキストをオーバーライドします。たとえば、CONVERT_DATE_MESSAGE_ID
は、入力値が日付に変換できない場合のFacesMessage
に対するメッセージ識別子です。ADF Facesのメッセージ識別子およびキーのリストは、「ADF Facesのメッセージおよびキーについて」を参照してください。
コンバータ・エラー・メッセージの詳細部分は、次のいずれかの方法でカスタマイズできます。
af:convertDateTimeとf:convertDateTimeの違いについて
af:convertNumberとf:convertNumberの違いについて
JSF標準コンバータについて
ADF Facesバリデータについて
ADF Facesコンバータおよびバリデータの使用
カスタムJSFコンバータおよびバリデータの使用
Copyright © 1997, 2007, Oracle. All rights reserved.