Struts2两种校验方式:
1.手工校验
2.基于XML配置方式校验
首先来看手工验证:
步骤:
- 页面传过来的值的验证步骤
- 验证底层原理
注意,如果直接复写validate()方法会对全部方法进行验证,如果用validate+方法名的方法就是只验证指定方法,如:validateLogin();具体原理可以在底层validate拦截器中找到关键代码
下面来看基于XML验证:
我们首先需要写一个用于校验的xml文件,而写这个文件需要按照一定的规范,具体的规范参照xwork-core-x.x.x.x.jar这个包下面的xwork-validator-x.x.x.dtd文件,文件命名也需要有一定规范,比如我需要验证UserAction这个类中的username属性,那么我创建这个文件的时候最好命名为UserAction-validation.xml,而且要将该文件与UserAction类放在同一文件夹下,文件格式如下:
注意这里的xml的里的参数是参照xwork-x.x.jar下的default.xml的属性设置的。
与之前手动验证存在同样的问题,就是这样写会验证所有的方法,如果需要对指定方法验证,则配置的xml的文件名需要修改一下,改为ActionClassName-ActionName-validation.xml
特别注意:这里的ActionName是struts.xml文件中配置的该action标签的name的属性值。