1、 解决Action过多问题
通过DispatchAction的方式
建立一个继承自DispatchAction的Action
此类Action允许我们在表单中带有参数,根据参数执行Action中的不同方法,以此实现Action的多用
步骤
①     建立一个继承自DispatchAction的Action规定方法名称
②     在表单页面中添加一个隐藏域值,假设为codi   value=”insert”
③     在Struts-config.xml的相应Form中action项目中设置parameter参数值为codi
那么当表单提交的时候,Action中的insert()方法就会被执行,可以通过改隐藏域中的值的方式来改变Action要执行的方法
2、 解决ActionForm过多的问题
通过动态ActionForm的方式,即DynaActionForm
步骤
①     在Struts-config.xml
<form-beans>
 <form-bean name=”abcForm” type=”org.apache.struts.action.DynaActionForm”>
         <form-property name=”userid” type=”java.long.String”></form-property>              
</form-bean>
</form-beans>
②     在Struts-config.xml
更改相应的action中的attribute和name为abcForm
这样就配置好了一个动态的ActionForm
3、 解决动态ActionForm的验证问题
通过动态验证ActonForm的方式,即DynaValidatorForm
步骤
①     在Struts-config.xml
同2的第一步,但是type需要改成org.apache.struts.action.DynaValidatorForm
②     配置一个validation.xml文件
<form-validation>
    <formset>
        <form name="abcForm">
            <field property="userid" depends="required">
                <arg key="err.userid" resource="true"/>
            </field>
        </form>
    </formset>
</form-validation>
③    在Struts资源文件中配置err.userid、以及errors.required
④    在Struts-config.xml配置相应的action,添加validate=”true”添加验证支持
⑤    添加struts Plugin插件
设置plugin class为org.apache.struts.validator.ValidatorPlugIn
添加propertys
Propertyà pathnames
Valueà /WEB-INF/validator-rules.xml,/WEB-INF/validation.xml
这样一个验证框架就配置好了!
	posted on 2008-02-12 13:47 
Dong 阅读(3508) 
评论(6)  编辑  收藏