教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 java中Struts2 表单验证方法

java中Struts2 表单验证方法

发布时间:2017-12-10   编辑:jiaochengji.com
教程集为您提供java中Struts2 表单验证方法等资源,欢迎您收藏本站,我们将为您提供最新的java中Struts2 表单验证方法资源
平常开发中,我经验使用struts2 表单验证是必不少的。今天我和大家分享两种表单验证。 一、继承ActionSupport类实现检验方法 ActionSupport是一个工具类,它已经实现了Action接口,除此之外,它还实现了Validateable接口,提供了数据校验功能,通过继承该ActionSupport类,可以简化Struts2的Action的开发。

平常开发中,我经验使用struts2 表单验证是必不少的。今天我和大家分享两种表单验证。

一、继承ActionSupport类实现检验方法
     ActionSupport是一个工具类,它已经实现了Action接口,除此之外,它还实现了Validateable接口,提供了数据校验功能,通过继承该ActionSupport类,可以简化Struts2的Action的开发。
    在Validatable接口中定义了一个validate()方法,重写该方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过,OGNL表达式负责输出。
   为了让Struts2增加输入数据校验的功能。LoginAction.java类需要继承子ActionSupport,并重写validate()方法,如重写validate()方法,程序如下:
    /**
 <blockquote>* 验证
  */
    public void validate()
    {
     if(name==null||name.equals(""))
     {
      addFieldError("name", getText("用户名不能为空"));
     }
     if(age==null||age.equals(""))
     {
      addFieldError("age", getText("年龄不能为空"));
     }
    }</blockquote>   该类重写了validate()方法,该方法会在执行系统的execute方法之前执行,
二、基于XWork的Validator框架的验证
 上面的输入校验是通过重ActionSupport类的validate()方法实现的,这种方法虽然不错,但需要重写大量的validate()方法
 类似于struts1,struts2也允许通过定义配置文件来完成数据校验。struts2的校验框架实际上是基于XWork的Validator()框架,其校验器定义文件位于Xwork的java包的com/opensymphony/xwork2/validator/validators/default.xml中
<pre><blockquote><pre>1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE validators PUBLIC
3 "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
4 "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
5 <!-- START SNIPPET: validators-default -->
6 <validators>
7 <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
8 <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
9 <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
10 <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
11 <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
12 <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
13 <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
14 <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
15 <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
16 <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
17 <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
18 <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
19 <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
20 </validators>
21 <!-- END SNIPPET: validators-default --></pre> </blockquote>   要时行 Action表单数据的验证,就需要为Action创建校验规则文件。该文件的命名规则应该遵守如下规则:ActionName-validation.xml:其ActionName就是需要校验的Action的类名.因此上面的规则应该遵守这项规则。配制文件如下 :</pre>
<pre><blockquote><pre>1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
3 "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
4 <validators>
5 <field name="name1">
6 <field-validator type="requiredstring">
7 <param name="trim">true</param>
8 <message>用户名不能为空</message>
9 </field-validator>
10 <field-validator type="stringlength">
11 <param name="trim">true</param>
12 <param name="maxLength">8</param>
13 <param name="minLength">3</param>
14 <message>用户名长度应该在${maxLength}到 ${minLength}之间 </message>
15 </field-validator>
16 </field>
17 <field name="age1">
18 <field-validator type="requiredstring">
19 <param name="trim">true</param>
20 <message>年龄不能为空</message>
21 </field-validator>
22 </field>
23 </validators></pre> </blockquote></pre>

您可能感兴趣的文章:
java中Struts2 表单验证方法
formvalidator验证插件中有关ajax验证问题
struts练习题
Struts2异常处理的使用例子
struts2之防止表单重复提交
Struts2学习笔记之校验器
让Struts2 在NetBeans 6中安家——在 NetBeans 6 中使用 Struts2
jquery之ajaxfileupload异步上传插件(附工程代码)
Struts2 防止表单重复提交笔记
Struts2处理结果的学习笔记

[关闭]
~ ~