2009-07-20

SAStrutsでエラーメッセージを設定してエラー画面に遷移する方法

アプリケーションに設定しているメッセージリソースをActionで取得してエラー画面で読み出すようにしてみた。

Actionでは以下の記述を追加する。
エラー画面はErrorActionを作成して飛ばしている。
リソースを参照して文字置換を行っている。
"{0}"の部分はObjectに渡しているが今回はlabelsにしていたメッセージに置換した。


import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionMessage;
import org.seasar.struts.util.ActionMessagesUtil;
import org.seasar.struts.util.MessageResourcesUtil;
import org.seasar.struts.util.RequestUtil;


ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.required"
new Object[] { MessageResourcesUtil.getMessage("labels.viewId") }));
ActionMessagesUtil.addErrors(RequestUtil.getRequest(), errors);
return "/error/";

0 件のコメント: