Struts--ActionForm的开发

开发ActionForm,可以继承3个类:
|-org.apache.struts.action.ActionForm

|-org.apache.struts.validator.ValidatorForm
|-org.apache.struts.validator.ValidatorActionForm

 

 

1.使用默认表单ActionForm

 

 

    新建的ActionForm默认继承自org.apache.struts.action.ActionForm,使用方法就不用多说了

org.apache.struts.action.ActionForm
    |--org.apache.struts.validator.ValidatorForm
            |--org.apache.struts.validator.ValidatorActionForm
 

    如果该ActionForm扩展ValidatorForm类,就不必覆盖validate()方法, 程序将会通过validation-rules.xml和validation.xml两个文件进行校验。如果重写了validate()方法,则程序只会调用validate()方法。
如果该ActionForm是扩展ValidatorActionForm ,ValidatorActionForm使用struts-config.xml中action的path属性,所以path属性的值相应的应该与validator-rules.xml中的Form的name属性匹配

 

2.使用动态表单DynaActionForm
    使用DynaActionForm可以减少ActionForm的数目,利用它你不必创建一个个具体的ActionForm类,而是在配置文件中配置出所需的虚拟ActionForm即可

<form-beans>
	<form-bean name="loginForm"
		type="org.apache.struts.action.DynaActionForm">
		<form-property name="username" type="java.lang.String" />
		<form-property name="password" type="java.lang.String" />
	</form-bean>
</form-beans>

   DynaActionForm将属性保存在一个HashMap对象中,同时提供相应的get和set方法。可以通过以下方式来访问属性值。

String username=(String)form.get("username");

 

3.使用自动校验表单DynaValidatorForm

    在配置文件中的配置如下

<form-beans>
	<form-bean name="loginForm"
		type="org.apache.struts.action.DynaValidatorForm">
		<form-property name="username" type="java.lang.String" />
		<form-property name="password" type="java.lang.String" />
	</form-bean>
</form-beans>

    编写好validator.xml,在配置文件中加入插件

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
	<set-property property="pathnames"
		value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml" />
</plug-in>

    在action-mapping中配置

<action-mappings>
	<action attribute="loginForm" 
			input="/login.jsp"
			name="loginForm" 
			path="/login" 
			scope="request"
			validate="true"      //---------添加此行-----------
			type="com.yaung.struts.action.LoginAction" />
</action-mappings>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值