posts - 42,  comments - 84,  trackbacks - 0
 

1、 解决Action过多问题

通过DispatchAction的方式

建立一个继承自DispatchActionAction

此类Action允许我们在表单中带有参数,根据参数执行Action中的不同方法,以此实现Action的多用

步骤

     建立一个继承自DispatchActionAction规定方法名称

     在表单页面中添加一个隐藏域值,假设为codi   value=”insert”

     Struts-config.xml的相应Formaction项目中设置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中的attributenameabcForm

这样就配置好了一个动态的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 阅读(3466) 评论(6)  编辑  收藏

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


网站导航: