[s2struts-dev:15] Re: s2struts:submitタグなどでメソッドごとのValidation

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2007年 12月 31日 (月) 13:54:21 JST


中村(taedium)です。

> 以前あった問題は、s2struts:submitのactionで指定したメソッドが
> バリデーションなしで呼び出されることなので、
> バリデーションありで呼び出されるなら、
> 定義の仕方は変える必要はないようなきがします。

すみません、よくわかりませんでした。
うまく伝わっていないのかもしれないでもう一度説明します。

たとえば、下記に示す例だと、現状では"/add"に対応するバリデーションが
実行されてから、ModActionImpl#mod()が呼び出されます。

■JSP
<html:form action="/add">
<s2struts:submit action="#{modAction.mod}" property="submit"
value="submit"/>
</html:form>

■Action
public class ModActionImpl implements ModAction {

   public String mod() {
     ...
     return SUCCESS;
   }
}

つまり、mod()に対応するバリデーションが行われません。
これが問題だということで、
アノテーションを使ってmodに対応するバリデーションを
実行できるようにしたいと思いました。

また、STRUTS-38の問題も解決したいのでアノテーションに
指定するのはバリデーションのキーではなくactionのpathにしました。

アノテーションが活用されるのはs2struts:submitと
s2struts:imageのactionで呼び出される場合のみです。
それ以外の場合では、アノテーションは不要です。

-- 
Toshihiro Nakamura



s2struts-dev メーリングリストの案内