[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 メーリングリストの案内