欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一些strtus2验证注解使用的感受

程序员文章站 2022-04-17 08:14:11
...

1. 在使用的时候应该在方法上面加上@Validation,这个是class level的注解
2. 一定要定义IPUT的返回类型,这个有时候会出错,不过很好排除
3. 要把validator这个拦截器加到当前的拦截器栈里面,这个一般咱们用defaultStack,它已经加进去了
4. struts2支持modelDriven和property的形式,所以modelDriven,有时候为了注解的重用咱们可能希望将注解加到vo里面,这个是可以的,只需在action里面定义vistorFields即可:

@Validations( visitorFields = {
@VisitorFieldValidator(
message="Default message",
fieldName="model", appendPrefix=true) }
)


5. 一般来说咱们validator有很多,有requiredString,intRange,email,还有url的等,咱们可能需要将它归类写到execute上面,但是咱们有时候会将CRUD方法写到一个类里面,用method方式来调用,但是有些业务方法是不需要验证的,我们可以用@SkipValidation来消除,但是问题是@Validations注解默认是执行所有的业务方法是执行。 问题是比如edit和create的注解是不同的,但是在执行edit的时候,将create方法的注解也执行了,幸亏struts提供了一个参数设置,用来设置仅执行当前方法上的注解。

<interceptor-ref name="paramsPrepareParamsStack">
<param name="validation.validateAnnotatedMethodOnly">true</param>
</interceptor-ref>

 

相关标签: Struts