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