skillup

技術ブログ

Java

Messageプロパティの設置方法

投稿日:

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>

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

参考リンク・書籍

http://hondou.homedns.org/pukiwiki/pukiwiki.php?JSF2%20%A5%E1%A5%C3%A5%BB%A1%BC%A5%B8%C4%EA%B5%C1

http://kikutaro777.hatenablog.com/entry/20121126/1353923854

http://www.amazon.co.jp/dp/4798042161

-Java
-,

執筆者:


comment

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

関連記事

no image

文字列操作(String系)

Javaの文字列について書きます。 Contents1 StringとStringBuilder1.1 文字列の追加はStringBuilder1.2 文字列の参照はString StringとStr …

no image

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

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

no image

便利すぎる道具の弊害

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

no image

サーブレットのスコープ

JavaEEではスコープアノテーションによって変数のスコープを使い分けられたのですが、サーブレットの場合はプログラムの中で使い分けます。 通常はページ、リクエストとセッション、アプリケーションぐらいで …

no image

Javaのコーディングルール

私自身、Javaで仕事をするようになってから3ヶ月ちょっとがたちました。 もともとPHPで仕事はしていましたが、我流でやっていたこともあり、コーディングのルールとかがいい加減だったんですよね・・ ボス …