struts1中的不同的form配备形式
struts1中的不同的form配置形式
1.先看看我们以前使用FormBean的方式
继承ActionForm.大堆的属性及getter,setter方法
struts-config.xml中配置动态Form.但一样要配置很多属性
TNND,还有个麻烦是系统中有一大堆的FormBean
如:
struts-config.xml:
<form-beans>
<form-bean name="loginform" type="com.form.loginForm"></form-bean>
......
</form-beans>
Action中:
.....
String loginName=(String)((loginForm)form).getLoginName();
....
2.再看看Struts1.2带给我们的LazyValidatorForm
它可以实现表单field到Map,List的映射
(1)JSP和以前一样,不需要改变。
这里假设有userName,password两个field;
(2)在struts-config.xml按如下方式配置FormBean,这里不需要再配置属性。
<form-bean name="lazyForm" type="org.apache.struts.validator.LazyValidatorForm"/>
(3)在Action中按如下方式取值:
DynaBean lazyForm = (DynaBean) form;
String userName=(String) lazyForm.get("userName");
String password=(String) LazyForm.get("password");
.....
看到没有!!一切就这么简单,我们的lazyForm不用再配置属性,业务逻辑变化后,我们再也不用去修改FormBean中的一大堆get,set方法了。
1.先看看我们以前使用FormBean的方式
继承ActionForm.大堆的属性及getter,setter方法
struts-config.xml中配置动态Form.但一样要配置很多属性
TNND,还有个麻烦是系统中有一大堆的FormBean
如:
struts-config.xml:
<form-beans>
<form-bean name="loginform" type="com.form.loginForm"></form-bean>
......
</form-beans>
Action中:
.....
String loginName=(String)((loginForm)form).getLoginName();
....
2.再看看Struts1.2带给我们的LazyValidatorForm
它可以实现表单field到Map,List的映射
(1)JSP和以前一样,不需要改变。
这里假设有userName,password两个field;
(2)在struts-config.xml按如下方式配置FormBean,这里不需要再配置属性。
<form-bean name="lazyForm" type="org.apache.struts.validator.LazyValidatorForm"/>
(3)在Action中按如下方式取值:
DynaBean lazyForm = (DynaBean) form;
String userName=(String) lazyForm.get("userName");
String password=(String) LazyForm.get("password");
.....
看到没有!!一切就这么简单,我们的lazyForm不用再配置属性,业务逻辑变化后,我们再也不用去修改FormBean中的一大堆get,set方法了。