[Seasar-user:14736] [SAStruts]Exceptionによる画面遷移制御について

藤田 佳宏 [E-MAIL ADDRESS DELETED]
2008年 6月 18日 (水) 16:12:43 JST


藤田と申します。
いつもお世話になっております。

現在、業務側で発生したExceptionで共通的に処理するものを
何とか1箇所にまとめることができないかと考えています。

例えば
SOptimisticLockExceptionがthrowされてきた場合には
「他ユーザに更新されました。」
というメッセージを自画面に表示する。という感じです。

現状は、S2RequestProcessor#processActionPerformで
下記のような感じにしています。

ここから ----------
ActionForward forward = null;
try {
	forward = action.execute(mapping, form, request, response);
} catch(SOptimisticLockException e) {
	ActionMessage actionMessage = new ActionMessage("MSG001");
	ActionMessages actionMessages = new ActionMessages();
	actionMessages.add(Globals.ERROR_KEY, actionMessage);
	ActionMessagesUtil.saveErrors(request, actionMessages);
	forward = s2ActionMapping.createForward(							
executeConfig.resolveInput(s2ActionMapping)
				);
} catch (Exception e) {
	return (processException(request, response, e, form, mapping));
}
---------- ここまで

@Executeのinputを必須というルールにすることで、正しく遷移はできるのですが
Actionメソッドではなく、JSPに遷移した際にセッションに格納された情報を
EL式で参照できない現象になっています。

(おそらく)EL式で参照するためには、
ActionWrapper#exportPropertiesToRequestを通す必要があると
考えているのですが、RequestProcessor側で対処する方法は
ありませんでしょうか。


以上、よろしくお願いします。

-- 
 藤田 佳宏
 E-mail [E-MAIL ADDRESS DELETED]


Seasar-user メーリングリストの案内