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

前出祐吾 [E-MAIL ADDRESS DELETED]
2011年 9月 13日 (火) 01:53:57 JST


前出と申します。お世話になります。

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

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


-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20110913/d5ccc830/attachment.html>


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