[Seasar-user:21010] Re: [SAStruts]ExecuteアノテーションのstopOnValidationErrorオプションについて

前出祐吾 [E-MAIL ADDRESS DELETED]
2011年 9月 14日 (水) 02:00:36 JST


ひが様

前出です。お世話になります。

早速のご回答、ありがとうございます。

単項目精査直後に結果をリクエストに保持する際には、
Strutsが利用するActionErrosのキー名(Globals.ERROR_KEY)を
使用するのは避け、独自のキー名で保持するようにします。

中途半端な状態でActionErrorsを設定するのは避けるようにします。

また、SAStrutsはバグフィックス以外はバージョンアップされない
とのことですので、ActionWrapper#execute()をオーバーライド
する方式で行きます。

アドバイスありがとうございました。

以上、今後とも宜しくお願い致します。

(Tue Sep 13 11:56:11 2011), higayasuo wrote:
>
> ひがです。
>
> 基本的にStrutsはActionErrorsがrequestやsessionに設定されていると
> 何らかの例外が発生しているとみなすので、中途半端な状態では、
> ActionErrorsを設定することはしないようにしています。
>
> SAStrutsはバグフィックス以外はしないので、多少手を入れても
> バージョンアップで動かなくなることはないと思います。
>>
>> 前出と申します。お世話になります。
>>
>> SAStrutsとS2JDBCを利用させて頂いております。
>> SAStrutsに関して質問させてください。
>>
>> @Executeアノテーションの『stopOnValidationError=false』を使用して、
>> 単項目精査(validate)と、後続のアクションやフォームの検証メソッドに 
>> よる精査を
>> 呼び出し、すべてのエラーチェックを同時に実行したいと考えております。
>>
>> また、検証メソッドによる精査は精査対象の単項目精査に合格したフィール 
>> ドのみ
>> を対象にしたいと考えています。
>> そのためには、各々の項目が、単項目精査に合格しているかどうか?を
>> 知る手段が必要になります。
>> 良い方法があれば、ご教授頂けないでしょうか?
>>
>>
>> 1つの策として次のような方法を考えています。
>>
>> ・ActionWrapperクラスのexecute()メソッドをオーバーライドし、以下の処理を
>>  行う。
>>
>>  対象クラス :org.seasar.struts.action.ActionWrapper
>>  対象メソッド:execute(HttpServletRequest request,S2ExecuteConfig 
>> executeConfig)
>>  処理内容:
>>   executeConfig.isStopOnValidationError()の結果に関わらず、
>>   processErrors(errors, request, executeConfig)を実行。
>>
>> この処理を行うことで、リクエストにActionMessages情報(errors)がセットさ
>> れます。
>>
>> ただし、この場合SAStrutsをバージョンアップされた場合に
>> 追従して行く必要があることの懸念は理解しています。
>>
>> ActionMessages情報を、その後の検証メソッドでアクセスできるスペックにして
>> いないのは、何か理由があってのことでしょうか?。教えてください。
>>
>> もし可能でしたら、SAStruts側の改修も含めご検討いただけると幸いです。
>>
>>
>> <環境>
>> sa-struts 1.0.4-sp9
>> s2-framewor 2.4.44
>> s2-extension 2.4.44
>> s2-tiger 2.4.44
>>
>> 以上、よろしくお願い致します。
>>
>>
>>
>> _______________________________________________
>> 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




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