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

JSPでのカスタムタグ

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

no image

Mapの使い方

Javaに限らずプログラミングで最も大切になるのは配列の処理でしょう。 Javaですと、PHPのような連想配列の代わりにMapを使用します。 Contents1 Mapとは?1.1 Mapのインスタン …

no image

netbeansのJPQL補助機能

JPAでは基本的に生のSQLではなく、JPQLを使って書きます。 SQLでもタイプミスにイライラさせられることは多いのですが、JPQLはもっとですね・・・爆 そこで使えるのがNetbeansの入力補助 …

no image

JavaEEでリダイレクトを伴うデータ入出力(flashの活用)

JavaEEで何らかの処理を行い、リダイレクトさせる場合、リダイレクト前のデータを保存し、リダイレクト後のページにデータをもちこしたいときなどがあると思います。 オブジェクトの変数自体はスコープアノテ …

no image

Javaのstreamまとめ

以前にもちょっと扱ったJavaのStreamに関してまとめ Contents1 過去のリンク2 ソース3 注意事項4 参考リンク 過去のリンク MapのStream http://skill-up-e …