随笔-10  评论-22  文章-1  trackbacks-0

Struts中最常用的七种ActionForm如下:

1.ActionForm

2.ValidatorForm

3.ValidatorActionForm

4.DynaActionForm

5.DynaValidatorForm

6.DynaValidatorActionForm

7.LazyValidatorForm

由命名来看,就总体使用规律如下:

1.带有Validator的,但都可使用验证框架;

2.以Dyna开头的,都是自动生成相应的form,只需在Struts-config.xml中配置属性即可

3.中间是否有Action的,表示validation.xml中的form的name名,是跟formbean的名称,还是/path路径

下面按规律逐个介绍:

1.ActionForm,DynaActionForm此类不支持验证框架,需手动创建form,并实现自定义的validate()方法

但DynaActionForm是特例(它自动生成form),所以没有validate()方法,所以也就不能验证
2.ValidatorForm,ValidatorActionForm,DynaValidatorForm

DynaValidatorActionForm,LazyValidatorForm 此大类都是支持验证框架的,当然也可以完成自定义的validate()方法,来覆盖验证框架的方法,其中:

ValidatorForm,DynaValidatorForm,LazyValidatorForm  没有Action,是针对form来验证的,即凡是用到该form的页面,都必须验证;

反之,ValidatorActionForm,DynaValidatorActionForm,则是针对Action的,要验证哪个Action,就跟那个/path路径,validation.xml代码如下:

<form-validation>
    
<formset>
        
<!-- 此时针对Action验证,name跟/path路径--!>
        
<!--如果是针对form验证,name则跟formbean的名称--!>
        
<form name="/login">
            
<field property="username" depends="required">
                
<msg name="required" key="username"/>
            
</field>
            
<field property="pwd" depends="required,minlength">
                
<msg name="required" key="pwd"/>
                
<msg name="minlength" key="pwd1"/>
                
<var>
                    
<var-name>minlength</var-name>
                    
<var-value>6</var-value>
                
</var>
            
</field>
        
</form>
    
</formset>
</form-validation>

针对七种ActionForm,我们要灵活运用,需要验证谁,就让它停下,不需要的,让它通过。

 另外介绍下验证框架的使用步骤

1.在validator-rules.xml中引入验证插件的代码:

<!--引入验证框架--!>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
                                                  /WEB-INF/validation.xml"/>
      </plug-in>
2.创建并配置validation.xml 文件,代码如下:
<!DOCTYPE form-validation PUBLIC
          
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
    
<formset>
        
<form name="loginForm">
            
<field property="username" depends="required">
                
<msg name="required" key="username"/>
            
</field>
            
<field property="pwd" depends="required,minlength">
                
<msg name="required" key="pwd"/>
                
<msg name="minlength" key="pwd1"/>
                
<var>
                    
<var-name>minlength</var-name>
                    
<var-value>6</var-value>
                
</var>
            
</field>
        
</form>
    
</formset>
</form-validation>
3.描述.properties资源文件,来指明验证提示,当然也可不用,直接声明变量
# Resources for parameter 'ApplicationResources'
# Project ch07
username
=username is null
pwd
=pwd is null
pwd1
=pwd is less than 6
以上来自各方面的学习,加上自己的整合,希望与各位豪杰共同探讨
posted on 2009-03-13 17:03 独孤行 阅读(486) 评论(0)  编辑  收藏 所属分类: Struts

只有注册用户登录后才能发表评论。


网站导航: