アノテーションの入れ子

name というプロパティが沢山あって困るので、なんとか簡単に validation できないものかと思って調べてみた。

どうやら ActionCustomizer を使わなければならないらしい・・・ほんとうか?
Seasar2 のマニュアルページにはそんなこと書かれてないぞ・・・むむむ。

どうやら下記のようにすると良いらしいのだが、うまく動かない。


@Required
@Arg(key = "labels.matterName")
@Minbytelength(minbytelength = 2)
@Maxbytelength(maxbytelength = 70)
public String name;

もう少し調べてみると、アノテーション入れ子にできるようだ。


@Required(arg0 = @Arg(key = "labels.matterName"))
@Minbytelength(minbytelength = 2)
@Maxbytelength(maxbytelength = 70)
public String name;

そういえば Struts2 の調査をしているときも、そんなことが書かれていたっけ。

解決。