ADF FacesのDateTimeConverter APIについて

ADF FacesのDateTimeConverterは、JSFのDateTimeConverter APIを拡張したAPIです。コンストラクタは、次のとおりです。

public DateTimeConverter(java.lang.String pattern)

public DateTimeConverter(java.lang.String pattern, java.lang.String secondaryPattern)

public DateTimeConverter()

JSFの日時コンバータとは異なり、ADF FacesのDateTimeConverterでは、第2のパターンを設定でき、変換時にパターンを使用して容認レベルが考慮されます。次に例を示します。

また、adf-faces-config.xml構成ファイルには、アプリケーションのデフォルト・タイムゾーン値を設定できます。コンバータにタイムゾーンが設定されていない場合、ADF Facesは、adf-faces-config.xmlのタイムゾーンのデフォルト値を参照します。したがって、タイムゾーンが必要なコンポーネントすべてにタイムゾーンを設定せずに、デフォルトのタイムゾーンを使用して解析と書式設定を実行できます。

ADF FacesのDateTimeConverterの詳細は、oracle.adf.view.faces.convert.DateTimeConverterJavadocを参照してください。

変換に失敗した場合は、コンバータ例外がスローされ、適切なメッセージ識別子でFacesMessageが作成されてキューイングされます。次のメソッドを使用すると、メッセージIDで識別されたエラー・メッセージの詳細部分をオーバーライドできます。

メッセージID メソッド
CONVERT_DATE_MESSAGE_ID setConvertDateMessageDetail(java.lang.String convertDateMessageDetail)
CONVERT_TIME_MESSAGE_ID setConvertTimeMessageDetail(java.lang.String convertTimeMessageDetail)
CONVERT_BOTH_MESSAGE_ID setConvertBothMessageDetail(java.lang.String convertBothMessageDetail)

convertXXXMessageDetailにはカスタム・エラー・メッセージを指定します。このカスタム・エラー・メッセージには、実行時に適切な値に置換されるプレースホルダを含めることができます。

ADF FacesのDateTimeConverterは、JSFの日時コンバータIDに自動的に関連付けられます。これは、JSFのf:convertDateTimeタグを適用する都度、ADF FacesのDateTimeConverterが自動的に使用されることを意味します。このために特別な構成を実行する必要はありません。

ヒント: ADF Facesのaf:convertDateTimeタグを(f:convertDateTimeタグのかわりに)使用すると、変換できない値について詳細なカスタム・エラー・メッセージを提供できる追加属性にアクセスできます。詳細は、「af:convertDateTimeとf:convertDateTimeの違いについて」を参照してください。


ADF Facesのクライアント・コンバータおよびバリデータのAPIについて
ADF Faces構成の使用