[Teeda]Validatorじゃないロジックで失敗したときのエラーメッセージの出し方

メモ程度にサンプルを書いておく。


HTML側

<span id="allMessages" />


Pageクラス側

FacesMessageUtil.addErrorMessage("E0000001");


Object[] args = {"XXX", "YYY"};
FacesMessageUtil.addErrorMessage("hogehoge", args);


プロパティファイル(appMessages_ja.properties)側

E0000001=検索結果がありません。
hogehoge={0}は{1}である!

 ※ appMessages_ja.properties は Doltengが自動生成してくれています。


ブラウザの出力

 * 検索結果がありません。
 * XXXはYYYである!

[Teeda] デフォルトのValidatorのメッセージの変え方

Teeda Coreのteeda-core-1.0.x.jar を解凍すると javax\faces ディレクトリに Messages_ja.properties ファイルがあるので、この内容を appMessages_ja.properties にコピーします。そして、必要に応じて、コピーした内容を編集すればOKです。


例えば、LengthValidator を使うと現行では、
『値(id=タイトル)が長すぎます。128桁以下で入力してください。』
というエラーメッセージがでます。"id=" という部分を無くしたかったので、次のように編集しました。


【編集前】

javax.faces.validator.LengthValidator.MAXIMUM_detail = 値(id={1})が長すぎます。{0}桁以下で入力してください。


【編集後】

javax.faces.validator.LengthValidator.MAXIMUM_detail = 値({1})が長すぎます。{0}桁以下で入力してください。