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

Yasuo Higa [E-MAIL ADDRESS DELETED]
2008年 6月 20日 (金) 16:14:11 JST


ひがです。

> 藤田です。
> いつもお世話になっております。
> 
> 下記のSessionオブジェクトのEL式での参照ですが
> 現状は、Sesionオブジェクトのメンバー変数をprivateにし
> getterを用意すれば取得は可能でした。
> 
> 何とかpublicで対応したいと思っているのですが
> 何か良い案は無いものでしょうか。
> 
ActionにDIすると、publicフィールドでアクセスできる用になる
と思います。

> 
> 以上、よろしくお願いします。
> 
> 藤田 佳宏 さんは書きました:
> > 藤田と申します。
> > いつもお世話になっております。
> > 
> > 現在、業務側で発生した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側で対処する方法は
> > ありませんでしょうか。
> > 
> > 
> > 以上、よろしくお願いします。
> > 
> 
> 
> -- 
>  藤田 佳宏 (FUJITA Yoshihiro)
>  E-mail [E-MAIL ADDRESS DELETED]
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 


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