- - PR -
ActionMessageからのメッセージ取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-02-05 11:12
お世話になります。
現在、下記のようなソースにてActionMessageよりプロパティファイルの内容を取得しようとしているのですがプロパティのキーは取得できるのですが値が取得できません。 調査方法を含めましてご存知の方がいらっしゃれば教えていただけますでしょうか。 ---メッセージセット----- ActionMessages messages = new ActionMessages(); messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("KEY1")); saveErrors(request, messages); return mapping.findForward("input"); ---エラー出力側----- ActionMessages messages = getErrors(request); for (@SuppressWarnings("unchecked")Iterator<String> propIter = (Iterator<String>) messages.properties(); propIter.hasNext();) { String property = propIter.next(); for (@SuppressWarnings("unchecked") Iterator<ActionMessage> msgIter = messages.get(property); msgIter.hasNext();) { ActionMessage msg = msgIter.next(); logger.warn(msg); } } return mapping.findForward("success"); 上記ロジックにて出力されるのは下記のようになります。 ---ログ内容----- [XXX] WARN (Output4log.java:XX) - KEY1[] ごぞんじの方がいらっしゃいましたらよろしくお願いいたします。 [ メッセージ編集済み 編集者: sMoker 編集日時 2009-02-05 11:15 ] |
|
投稿日時: 2009-02-05 11:36
2行目
メッセージのキーはセットしていますが メッセージ自体をセットしていないですね。 |
|
投稿日時: 2009-02-05 12:14
あすかさん
返信ありがとうございます。 メッセージ自体はプロパティファイルに記載しています。 ---プロパティファイル----- KEY1=ErrorMessage <html:messages> のように出力したいのです。 |
|
投稿日時: 2009-02-05 14:13
ActionMessageが持つのはメッセージのキーとパラメータ配列だけです。
ResourceBundle#getString()とMessageFormat#format()が必要です。 具体的に何をすればよいかは<html:messages>のソースを見て調べましょう。 |
|
投稿日時: 2009-02-05 17:24
あしゅさん
ご返信ありがとうございます。 下記の件、いろいろと調べた結果下記の様にすることにより解決しました。 エラー出力側にてMessageResourcesを利用して ActionMessages messages = getErrors(request); MessageResources MsgResouce = this.getResources(request); for (@SuppressWarnings("unchecked") Iterator<String> propIter = (Iterator<String>) messages.properties(); propIter.hasNext();) { String property = propIter.next(); for (@SuppressWarnings("unchecked") Iterator<ActionMessage> msgIter = messages.get(property); msgIter.hasNext();) { ActionMessage msg = msgIter.next(); logger.warn(MsgResouce.getMessage(msg.getKey())); } } という感じです。 ありがとうございました。 _________________ |
1