疝气挂号什么科室:struts2.x中的框架校验
来源:百度文库 编辑:偶看新闻 时间:2024/05/03 11:47:20
字段校验:我来验证谁,拿谁来验证!
基于xml文件来进行校验(错误信息也是保存在fielderror对象中),针对每一个action类进行对应一个xml文件来校验。只需要写好相应的xml文件即可。不需要作其它的配置。
格式:action类名-validation.xml 例如:RegisterAction-validation.xml
xml文件头格式如下:xml文件是由dtd文件所决定的。
"-//OpenSymphonyGroup//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
可以用firefox打开上面的dtd文件。查看里面的结构。
比如:对username字段进行校验,其xml文件里的格式如下:
"-//OpenSymphony Group//XWork Validator1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
true
6
10
6
10
6
10
1
150
2001-01-01
2003-12-31
2005-01-01
2007-12-31
总结:用上述xml方式对表单中的字段进行验证与在actoin类中重写validate()验证,是重复的。因此,在开发项目中,要么采用xml文件的方式进行验证,要么在处理类中使用重写validate()的方式去进行验证。否则容易产生混消。
当校验不是很复杂时,尽量使用xml文件的方式去校验;当校验比较复杂时,可以使用validate()方法去校验。无论如何,提交表单时,都会先执行validate()方法,再执行execute()方法。针对同一个字段,如果同时有xml文件验证,也有validate()方法验证时,会先输出xml文件中的验证信息,后输出validate()中的验证信息。
在validate()方法中。可以将错误信息放在fieldError对象中,也可以放在actionError对象中。至于应该放在哪个级别的对象中,看个人喜好。
struts2同样支持客户端校验:
1、 一定不能在form表单中的属性设置theme=”simple”.[基于strutsw2标签]
2、 将form的validate属性设置为tru。[基于strutsw2标签]
3、 最好不要使用struts2给我们提供的客户端校验方式。
非字段校验:拿谁来验证,我去验证谁!
username
username
6
10
总结:究竟采用字段校验器还是非字段校验器,大家认为,还是字段校验器更直观,也因此大多采用字段校验器的形式去进行表单验证。二者其一,看个人喜好。当然也可以两者同时存在于文件中。
1. 真正存放fieldError级别错误信息的对象是LinkedHashMap,也就是map的一个实现。
2. 该LinkedHashMap的key是String类型的,value是ArrayList类型的
3. 对于ActionError级别的错误信息,实际上是放置在ArrayList中的