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

藤田 佳宏 [E-MAIL ADDRESS DELETED]
2008年 6月 20日 (金) 19:21:53 JST


ひがさん

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

下記、了解しました。

getterメソッド用意するか、ルール変更するか悩もうと思います。


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

Yasuo Higa さんは書きました:
> ひがです。
> 
>> 藤田です。
>> いつもお世話になっております。
>>
>>> ActionにDIすると、publicフィールドでアクセスできる用になる
>>> と思います。
>> ログイン情報のDTOなので、ルールとしてActionへのDIは必ずしています。
>> 状態としては、input属性が
>> Actionメソッド ⇒ 問題なし
>> JSP ⇒ JspException(オペレータ "." を利用しましたが...)発生
>> という感じです。
>>
> すみません。
> アドバイスが間違ってました。
> 
> RequestProcessorでフォワードした場合は、
> ActionWrapper#exportPropertiesToRequestを通らないので、
> 確かに、getterメソッドが必要になります。
> 
> 次のバージョンで、RequestProcessor#doForward()で
> ActionWrapper#exportPropertiesToRequest相当の処理を入れようと
> 思います。
> 
> よろしくお願いします。
> 
>> もう少し、ソースを追いかけてみます。。。
>>
>> Yasuo Higa さんは書きました:
>>> ひがです。
>>>
>>>> 藤田です。
>>>> いつもお世話になっております。
>>>>
>>>> 下記の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 mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>>
>>>
>>
>> -- 
>> エヌシーエステクノロジー株式会社
>>  開発事業グループ 第三システム部
>>
>>  藤田 佳宏 (FUJITA Yoshihiro)
>>  E-mail [E-MAIL ADDRESS DELETED]
>>  TEL:(06)6444-1003 FAX:(06)6444-1081
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> 
> 


-- 
 藤田 佳宏 (FUJITA Yoshihiro)
 E-mail [E-MAIL ADDRESS DELETED]


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