参考文档:
http://struts.apache.org/2.0.9/docs/ajax-client-side-validation.html
http://struts.apache.org/2.0.9/docs/pure-javascript-client-side-validation.html
http://struts.apache.org/2.0.9/docs/client-validation.html
参考示例:
http://struts.apache.org/2.0.9/docs/ajax-validation.html
Struts2 校验(XML配置校验)
基本说明:
Struts校验可以分为两种类型:Annotation型,XML配置型
Annotation型主要使用Annotation来配置Action中的属性,这里我们做过多的介绍,需要看的请参看我的其他相关文章。
XML配置型主要是指,使用XML来描述配置信息,之后提供给Struts框架做校验。
使用Struts2,XML配置型的校验可以使用三种方式:普通的服务器端校验方式,客户纯JavaScript方式端校验,和Ajax方式的校验。
普通的服务器端校验方式:
客户端提交信息到服务器,在服务器上使用XML配置信息,校验客户端提交的信息,错误的情况下,返回input页面,显示校验错误信息。
客户端纯JavaScript校验方式:
在输入画面上,根据XML文件中的配置内容生成对应的JavaScript校验脚本,在提交数据的时候首先使用这些生成的JavaScript校验输入信息,错误情况下在画面上显示错误信息,不需要向服务器提交内容,只有输入数据校验正确的情况下才向服务器提交请求。这种方式的校验不支持所有Struts2内置的校验,只支持一部分校验:
required validator
requiredstring validator
stringlength validator
regex validator
email validator
url validator
int validator
double validator
Ajax方式校验
在提交请求的时候,首先使用AJAX的方式将数据提交到服务器,在校验出错的情况下在页面显示错误信息,但是不刷新页面,在校验成功的情况下,才向服务器提交请求。
三种方式比较
普通的服务端校验方式 | 客户端纯JavaScript | Ajax方式 | |
位置 | 服务器 | 客户端 | 服务器 |
是否刷新页面 | 是 | 否 | 否 |
校验代码 | Java | JavaScript | Java |
具体实现 | 1 定义Action类 Action.java 2 定义配置文件 Action-validation.xml 3 在struts.xml中定义action,注意由于使用了validation,所以必须定义input名字的result。 <action n |