Struts2:输入校验-基于XML配置方式实现
2018-03-30 00:09
429 查看
使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下,文件的取名格式为:ActionClassName-validation.xml,其中ActionClassName为action的简单类名,-validation为固定写法。如果Action类为cn.itcast.UserAction,那么该文件的取名应为:UserAction-validation.xml,同时需要在struts配置文件中要有名为input的视图。
基于XML校验的一些特点:
当为某个action提供了ActionClassName-validation.xml和ActionClassName-ActionName-validation.xml两种规则的校验文件时,系统按下面顺序寻找校验文件:
1.ActionClassName-validation.xml
2.ActionClassName-ActionName-validation.xml
系统寻找到第一个校验文件时还会继续搜索后面的校验文件,当搜索到所有校验文件时,会把校验文件里的所有校验规则汇总,然后全部应用于action方法的校验。如果两个校验文件中指定的校验规则冲突,则只使用后面文件中的校验规则。
当action继承了另一个action,父类action的校验文件会先被搜索到。然后会应用所有检验规则的总和
在input的视图上用 <s:fielderror></s:fielderror> 显示错误信息 校验文件的模板: 可以在apps例子中复制一个 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" //用版本1.0.3 "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> <field name="username"> <field-validator type="requiredstring"> //requiredstring是必填字符串校验器 <param name="trim">true</param> //默认为true <message>用户名不能为空!</message> </field-validator> </field> <field name="mobile"> <field-validator type="requiredstring"> <message>手机号不能为空!</message> </field-validator> <field-validator type="regex"> <param name="expression"><![CDATA[^1[358]\d{9}$]]></param> <message>手机号格式不正确!</message> //<![CDATA[]]>将内部内容作为普通文本处理 </field-validator> </field> </validators> <field>指定action中要校验的属性, <field-validator>指定校验器,上面指定的校验器requiredstring是由系统提供的,系统提供了能满足大部分验证需求的校验器,这些校验器的定义可以在xwork-2.x.jar中的com.opensymphony.xwork2.validator.validators下的default.xml中找到。 注:根据需求,在系统中找相对应的校验器 <message>为校验失败后的提示信息。如果需要国际化,可以为message指定key属性,key的值为资源文件中的key。在这个校验文件中,对action中字符串类型的username属性进行校验,首先要求调用trim()方法去掉空格,然后判断用户名是否为空。 当校验文件的取名为ActionClassName-validation.xml时,会对action中的所有处理方法实施输入验证。如果你只需要对action中的某个action方法实施校验,那么,校验文件的取名应为:ActionClassName-ActionName-validation.xml,其中ActionName为struts.xml中action的名称。
基于XML校验的一些特点:
当为某个action提供了ActionClassName-validation.xml和ActionClassName-ActionName-validation.xml两种规则的校验文件时,系统按下面顺序寻找校验文件:
1.ActionClassName-validation.xml
2.ActionClassName-ActionName-validation.xml
系统寻找到第一个校验文件时还会继续搜索后面的校验文件,当搜索到所有校验文件时,会把校验文件里的所有校验规则汇总,然后全部应用于action方法的校验。如果两个校验文件中指定的校验规则冲突,则只使用后面文件中的校验规则。
当action继承了另一个action,父类action的校验文件会先被搜索到。然后会应用所有检验规则的总和
相关文章推荐
- Struts2_基于XML配置方式对指定action方法实现输入校验、基于XML校验的一些特点
- Struts2基于XML配置方式实现对action的所有方法进行输入校验
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
- struts2-18基于XML配置方式实现对action的所有方法或指定方法进行输入校验
- 输入校验--基于XML配置方式实现
- 基于XML配置方式实现对action的所有方法和指定方法进行输入校验
- 基于XML配置方式对指定action方法实现输入校验
- Struts2_基于XML配置方式实现对action的所有方法进行校验
- 基于XML配置方式实现输入校验
- Struts2基于XML配置方式实现对Action方法进行校验
- Struts2 基于XML配置方式实现对action的所有方法进行校验
- Struts2系统学习(14)输入校验-基于XML配置方式实现校验
- Struts2基于XML配置文件实现输入校验
- 基于XML配置方式实现对action的所有方法进行输入校验
- 复习struts2之基于XML配置方式实现对action的所有方法进行校验
- 基于XML配置方式实现输入校验
- 基于xml配置方式实现对action中指定方法进行输入校验
- 基于xml配置方式实现对action中指定方法进行输入校验
- struts2 基于XML配置方式实现校验(指定方法)
- 基于XML配置方式实现对action的所有方法进行校验