3) message-config.xml

weberフレームワークはメッセージの定義をXMLで記述したファイルとして登録しておくことで、 weberアプリケーションの任意のクラスからメッセージを取得することができます。
又、メッセージの一覧を外部のファイルで一元管理することにより、ソースを修正することなく、出力されるメッセージを変更することができます。
メッセージ定義ファイルは以下のようなXMLファイル(message-config.xml)を作成し、 クラスファイルを保管しているディレクトリ配下(/WEB-INF/classes直下等)に保存します。


(1) message-config.xmlファイルの記述例

message要素にメッセージのキー(メッセージ定義ファイルの中で重複しないユニークな英数字を設定してください)とメッセージ本文を登録します。

<?xml version="1.0" encoding="Shift_JIS" ?>

<weber-message>
<messages>
<message key="E0001" value="名前を入力してください"/>
<message key="E0002" value="学生Noを入力してください"/>
<message key="E0003" value="学生IDには数値を入力してください"/>
<message key="E0004" value="成績を入力してください"/>
<message key="E0005" value="成績には数値を入力してください"/>
<message key="E0006" value="成績には0.00から100.00までの数値を入力してください"/>
</messages>
</weber-message>

又、上記で作成したファイルをフレームワークが読み取る為にはdi-config.xmlに 以下の設定を記述する必要があります。

<bean id="InitParams" type="org.itscool.commons.bean.InitParamMap" singleton="true">
<property name="infos" collection="map">
<!-- メッセージ定義ファイル名 -->
<bean id="message-config" value="message-config.xml"/>
</property>
</bean>

<bean id="MessageConfigReader"〜>以下の記述は、di-config.xmlの <bean-mappings>〜</bean-mappings>の間に記述してください。


(2) メッセージの取得について

Javaクラスからメッセージ定義ファイルに登録されているメッセージを取得するには org.itscool.weber.mapping.MessageMappingクラスのgetメソッドを使ってメッセージ を取得します。

MessageMapping resource = MessageMapping.getInstance();
String msg = (String)resource.get(“E0001”);