カスタムの変換または検証に失敗した場合は、エラー・メッセージを提供し、表示する必要があります。たとえば、カスタムのJSFコンバータまたはバリデータでエラーが検出された場合は、エラーを説明するFacesMessage
を作成し、メッセージから例外を作成して、例外をスローする必要があります。次に例を示します。
...
if (validation fails) {
FacesMessage message = ...;
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);
...
通常、カスタム・エラー・メッセージはResourceBundle
に格納します。リソース・バンドルおよびローカライズの詳細は、java.util.ResourceBundle
に関するJavadoc、およびInternationalization(I18N)に関するSun Developer Networkサイトを参照してください。URLは次のとおりです。
http://java.sun.com/j2se/corejava/intl/index.jsp
リソース・バンドル内のエラー・メッセージにアクセスするには、コードで、カスタム・メッセージを保持するロケール固有のメッセージ・バンドルを取得し、バンドルから適切なエラー・メッセージを取り出す必要があります。JSFには、リソース・バンドルからメッセージを作成する方法が2通りあります。
faces-config.xml
)でアプリケーションにリソース・バンドルを登録します。メッセージ・ファクトリ実装を作成し、Application
インスタンスに登録されたメッセージにアクセスします。
リソース・バンドルをアプリケーションに登録する場合は、メッセージ・ファクトリ実装を作成する必要があります。この実装では、バンドルを検証し、(単一のメッセージを表す)FacesMessage
インスタンスを生成して、FacesContext
のメッセージをキューイングします。
FacesMessage
を使用して、リソース・バンドルから直接メッセージにアクセスします。
リソース・バンドルをアプリケーションに登録しない場合は、FacesMessage
を介してメッセージ・リソースに直接アクセスできます。
FacesContext
にメッセージを作成し、キューイングする方法の詳細は、javax.faces.context.FacesContext
、javax.faces application.FacesMessage
およびjavax.faces application.FacesMessage.Severity
に関するJavadocを参照してください。
変換および検証エラーについて
カスタムJSFコンバータについて
カスタムJSFバリデータについて
JSFでのエラー・メッセージの表示およびカスタマイズ
Copyright © 1997, 2006, Oracle. All rights reserved.