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

mavenでJavadoc出力

Netbeansでプロジェクトから右クリックでjavadocの生成はできますが、実はmavenでビルドするときにJavadocを生成できます。 ただ出力するだけではなくてパラーメータをいろいろとセット …

no image

JSFのテンプレート機能

Contents1 保守性の向上で必要なHTMLの考え方1.1 サンプル1.2 ファイル構成1.3 ソース1.3.1 静的なファイル群1.3.2 テンプレート1.3.3 アクセスファイル1.4 Net …

no image

CentOS上にglassfish構築+arquillianテスト

JavaEEの開発でアプリケーションサーバーとしてglassfishを使っています。 今回、CentOS(ver6.6)に立てる機会があったので、そのネタを共有したいと思います。 Contents1 …

no image

Listの簡便な書き方

このエントリーともかぶりますが、リストにクラスを代入するときの簡便な書き方の紹介です。 名前と年齢のプロパティをもつ簡単なクラス(Hoge)をListに格納しようとします。 普通に書くと [crayo …

no image

StreamのMap処理

Javaのstreamですが知れば知るほどいろいろな機能がありますね。 基本的にプログラムって配列(コレクション含む)とオブジェクトの処理が中心になるので、配列の処理をいかにうまくできるかは非常に大事 …