goo blog サービス終了のお知らせ 

Psalm

プログラマ向け技術メモ

メッセージリソースの使い方

2008-08-28 14:30:18 | Struts
キー org.apache.struts.action.MESSAGE に対するメッセージリソースが見つかりません

そのまんま、JSPで指定したキーがない。
チェックするべき点はいくつかある。

1、WEB-INF/classesの下にメッセージリソースファイルはあるか
 Eclipseくんが親切にもclean upしてくれてることがある。
 プロジェクトのクリーンをした場合は要チェック。

2、struts-config.xmlの記述
 こんな感じ↓
 <message-resources parameter="ApplicationMessageResources" key="messages" />
 意外と間違いやすいのが「parameter」はファイル名ではないという点。
 ここには拡張子はいらない。
 classesにディレクトリを掘ってる場合はディレクトリのパスから書くこと。
 keyを書かない場合はデフォルトが使われるらしいけど、動かなかった。

3、JSPの記述は合ってる?
 JSPから直接メッセージリソースを読み出すときは
 <bean:message bundle="messages" key="key名" />

 ActionMessagesを使ったときは
 <html:messages id="msg" bundle="messages" message="true">
  <bean:write name="msg" ignore="true"/>
 </html:messages>

 ActionMessagesのときは、keyを指定しない。
 ・・・微妙。
 struts-configでkeyを指定した場合は、bundle必須。