使用动态表单可以更加灵活的使用表单,在某些不能确定表单个数和类型的情况下,可以使用动态表单来解决问题。
普通的ActionForm是一个实际的java类,但是动态表单是在struts-config.xml文件中配置的,配置ActionForm的属性可以使用form-property元素,其包含两个属性:
Name---属性名,必须和jsp页面的表单域名字相同
Type---属性类型
使用动态ActionForm与普通的ActionForm没有什么区别,避免了书写ActionForm,但是配置变得更复杂了。
配置过程如下:
1.在struts-config.xml中加入ActionForm
<form-beans >
<form-bean name="registForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="uname" type="java.lang.String" />
<form-property name="upass" type="java.lang.String" />
<form-property name="rpass" type="java.lang.String" />
<form-property name="email" type="java.lang.String" />
</form-bean>
</form-beans>
2.在struts-config.xml中加入action配置
<action-mappings >
<action
attribute="registForm"
validate="true"
input="/regist.jsp"
name="registForm"
path="/regist"
scope="request"
type="com.gem.struts.action.RegistAction" >
<forward name="succ" path="/succ.jsp"></forward>
</action>
</action-mappings>