首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

运用Struts2的输入校验

2012-08-13 
使用Struts2的输入校验1.数据校验可以分为客户端校验和服务器端校验两种。客户端校验和服务器端校验都是必

使用Struts2的输入校验

1.数据校验可以分为客户端校验和服务器端校验两种。客户端校验和服务器端校验都是必不可少的,二者分别完成不同的过滤。

客户端校验进行基本校验,如检查分空字段是否为空,数字格式是否正确等。客户端校验主要用来过滤用户的误操作。客户端校验的作用是:拒绝误操作输入提交到服务器处理,降低服务器端的负担。主要通过JavaScript代码完成。

服务器端校验也必不可少,服务器端校验防止非法数据进入程序,导致程序异常、底层数据库异常。服务器端校验是保证程序有效运行及数据完整的手段。主要通过在应用中编程实现。

?

2.编写校验规则文件

Struts2提供了基于验证框架的输入校验,在这种校验方式下,所有的输入校验只需要编写简单的配置文件,Struts2的验证框架将会负责进行服务器校验和客户端校验。

为Action指定一个校验规则文件后,即可里利用Struts2的输入校验功能对该Action进行校验。

RegistAction-validation.xml

<!--?校验文件的根元素 -->

<validators>

????? <!--?校验Action的name属性 -->

????? <field name="name">

????????????? <!-- 指定name属性必须满足必填规则?-->

????????????? <field-validator type="requiredstring">

??????????????????????<param name="trim">true</param>

??????????????????????<message>必须输入名字</message>

??????????????</field-validator>

????????????? <!-- 指定name属性必须匹配正则表达式?-->

????????????? <field-validator type="regex">

??????????????????????<param name="expression"><![CDATA[(\w{4,25})]]></param>

??????????????????????<message>用户名只能是字母和数字,且长度必须在4到25之间</message>

??????????????</field-validator>

????? </field>

????? <!--?指定age属性必须在指定范围内 -->

????? <field name="age">

????????????? <field-validator type="int">

??????????????????????<param name="min">1</param>

??????????????????????<param name="max">100</param>

??????????????????????<message>年纪必须在${min}到${max}之间</message>

??????????????</field-validator>

????? </field>

</validators>

?

3.客户端校验支持的几种校验器

required validator:必填校验器

requiredstring validator:必填字符串校验器

stringlength validator:字符串长度校验器

regex validator:表达式校验器

email validator:邮件校验器

url validator:网址校验器

int validator

double validator

?

4.Struts2提供了两种方式来配置校验规则:字段校验器风格和非字段校验器风格

5.内建校验器

6.基于Annotation的输入校验

热点排行