Struts2 校验

1.     validate() 输入校验,一般是先validate()再execute().

2.     this.addActionError();  this.addFieldError();

1)如果你想显示总体信息,那么actionError是一个好选择,因为对总体信息来说,不需要过细的划分;
2)但是如果你的信息要进行细致的划分,比如你在后台进行数据再次验证,对于传入的字段如果格式不符,对应生成相应的错误信息,那么这时候就要用filedError了。

3.     getActionError()先创建一个ArrayList集合的副本,副本中有指向错误的引用,即使clear()清除,原来的集合里面的错误没有受到影响.也就是说Action级别的错误对开发人员来说仅仅是可以读的.

4.     FieldError级别的错误信息底层是用LinkedHashMap实现的,该Map的key对应FieldErrorName 是String类型的,value是List<String>类型的,这就表示一个FieldErrorName可以对应多个错误信息,这行信息放在List<String>集合里面.

5.     执行流程:

如果类型转换和输入校验中任何一个过程出现错误,那么久不执行execute()方法,直接执行action为input的页面.但是如果你在validate()方法结尾使用clearActionErrors()和clearFieldErrors()那么依然可以去执行execute()方法,以为这次是把错误的信息给删除了,就相当于没有错误了.

6.     对于action里面存在自定义的method属性,其对应的validate方法的名字必须是以Validate开头,后面接以自定义的method的方法名称,而且还必须大写的,如:

1)    method:privateString myExecute(){……..};

2)    那么验证方法为public void ValidateMyExecute(){……….}

3)    注意大小写

4)    先执行自定义的验证方法: ValidateMyExecute(),再执行默认的验证方法:validate()

5)    任何验证方法出现错误,execute方法都不会再执行了,直接去执行reslult为input的页面

7.     自定义的Field级别的错误的提示信息,使用Struts2自带的不好,应该自己处理

1)     新建一个以Action命名的properties的文件,如:UserAction.properties

2)     在属性文件里面给相应的可能出现错误的字段写好提示信息,如:Invalid.fieldvalue.nuername=the name is error!

3)     Invalid.fieldvalue是固定不变,仅仅后面的字段是可以改变的.

4)     相应字段如果需要使用中文,不可以自己写入,可以在design视图里面写入,再在sources视图里面看相对应的uncode编码.

8.     全局的类型转换:可以定义一个xwork-conversion.properties,但是要注意位置.

9.     Struts2 的校验框架(有效的xml的文件).具体来说分为字段优先校验器和校验器优先校验器.

10.  对于国际化的资源文件,命名规则是:package_语言名_国家名,如:

Package_zh-CN

11.  Struts2 框架检验器执行的先后顺序:

1)         首先执行校验框架(xml文件)

2)         执行自定义的方法的校验方法

3)         执行validate方法

12.  在Action里面可以定义异常和结果,也可以定义全局的异常和结果,而且局部总是优于全局.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值