skillup

技術ブログ

Java

Messageプロパティの設置方法

投稿日:2015年7月11日 更新日:

JavaEEに限らず、エラーメッセージなどは通常、プログラムの中に書くのではなく、できればエラーメッセージファイルの中で管理するのが望ましいでしょう。

またJSF側の名称の表示なども直接xhtmlの中に書いてしまうと保守性を下げる原因となります。

今回はメッセージファイルを外において管理する方法です。

メッセージファイルの管理の仕方

サンプル

例えば下記のようなフォームの入力画面があったとします。

gamen_1

仮に必須で、20文字以内の文字列を定義するとき、これを下記のようなエラーメッセージを出したいとします。

ちなみに姓、名、入力に関してもxhtmlの中に入れるのではなく、別のファイルから管理するとします。

error_customize_1

メッセージ系のファイルはプロパティファイルなどで管理します。

ファイル構成

ファイル構成ですが、下記のような構成です。後ほど設定ファイルを追加します。

画面のxhtml regist.xhml

プログラム sampleBean.java

エラーメッセージファイル /src/main/resources/ValidationMessages.properties

ラベルファイル  /src/main/resources/Label.properties

ソース

regist.xhtml

SampleBean.java

faces-config.xml

エラーメッセージは上記のバリデーションで行う場合、上記のパス( /src/main/resources/ValidationMessages.properties )であれば設定ファイルなどは必要ありません。

このファイルに下記のように書いておけば、先ほどのようなエラーメッセージが出力されます。

ただ任意のパスに設定したい場合や、ラベルなどを出力したい場合はfaces-config.xmlという設定ファイルが必要になります。

上記のように設定すればvarで設定した変数名として出力することができます。

Label.propertiesの中身ですが、下記のように設定してあげればJSFから参照できます。

なおエラーメッセージを任意のパスで出力する場合は、

<application></application>の中で

<message-bundle>パッケージ名/ファイル名</message-bundle>

と記述すれば表示することができます。

参考リンク・書籍

JSF2 メッセージ定義

JSFの標準メッセージを塗り替えるお仕事

わかりやすいJavaEEウェブシステム入門

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Seleniumでの画面テスト

普段テストはJunitで単体テストを書いていますが、画面からのテストなどは当然チェックできません。 フレームワークだとどうしても内部構造がわからず画面から直接うごかして確認しなくてはいけないようなケー …

no image

JSFのプルダウンに関して(イベントをトリガーにする&非ajax)

いろいろと社内アプリを作っていたせいでかなりプルダウンは慣れたとおもったのですが、未知の部分がさらにあったのでまとめます。 Contents1 初期値に値がないとき2 プルダウン変更時に遷移 初期値に …

no image

JSPでのカスタムタグ

前回のインク―ドですが、文字列以上の情報を渡すことはできませんでした。 いろいろ調べたり、上司に聞いてみるとカスタムタグという独自のタグを作る機能があるとのことでさっそく調査。 Contents1 カ …

no image

便利すぎる道具の弊害

現在、Javaのプロジェクトでは会社でNetbeansを使っていますが、IDEを使っているばっかりに理解できていないところがありました。便利すぎる道具の弊害ですね・・・ IDEについて一応説明をしてお …

no image

Javaのオブジェクト指向に関して

Contents1 staticメソッド2 アクセス修飾子3 抽象クラス3.1 オーバーライド(親クラスのメソッドを上書きすること)3.2 オーバーロード(同名メソッドを複数もつこと)4 interf …