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でのjarファイル作成

ここ半年Javaを触っていますが、9割以上がWEBアプリでバッチ系のものを作る機会から外れていました。 今回バッチを作っており、IDEでは動くのにいざコンソールで動かそうと思ったら動かないということが …

no image

JAXRSによるRESTAPI作成方法

業務でJavaによりWEBAPI(Rsetful API)を作成する機会ががあったのでちょっとメモしておきます。 Contents1 RestAPIとは2 プログラムの作成方法について RestAPI …

no image

char→String変換

Javaでアルファベット小文字全て、大文字全てが入った配列を作成する場合、PHPのrangeのように一気に作る方法はありません。 まあ、コツコツ入力していけばいいのですが、それでは芸がないので、文字コ …

no image

JSFでのjQuery

JSFでのjQueryの取得 以前、Seleniumに関連したエントリーを書いたときにJSFではidが親要素を伴うと書きました。 例えば <form id=”form1″ …

no image

GlassFishでDB接続

JavaEEではアプリケーションサーバーとしてGlassFishを使いますが、先日、GlassFishを通さないとJavaEEでDBが動かせないということを知りました。そのためJavaEEではデータベ …