1. formbean,刚学struts的时候总是用ActionForm,页面上的一个属性对应formbean的每个属性,推开属性多少不说,页面多了,每个有增加功能的页面都要对应个formbean,导致很多的actionform;后来结合pojo类和DynaActionForm,在页面上不管要提交多少项数据,很方便了;比如struts-config.xml文件这样写:
<form-bean name="bcDepartmentForm"type="org.apache.struts.action.[color=red]DynaActionForm[/color]">
<form-property name="pk" type="java.lang.String" />
<form-property name="query" type="java.lang.String" />
<form-property name="pks" type="java.lang.String[]"/>
<form-property name="pageno" type="java.lang.Integer" />
<form-propertyname="bcDepartment" type="com.hust.bc.model.BcDepartment" />
</form-bean>
在页面上只需在每个属性的前面加上bcDepartment,形如:
部门名称 : <input name="bcDepartment.cdepname" id="[color=red]bcDepartment.cdepname[/color]" value='${bcDepartment.cdepname}' dataType="Require" maxlength="20" msg="部门名称是必须的"/>
2.方法的查找,比如要查找某个action下面的方法,在form的action的属性值就是
xxx.do?method=xxxxx
用url传递参数不好,所以可以这样写,就在form标签后面加上这句话,效果一样
<form action="[color=red]xxx.do[/color]" >
<input type="hidden" id="method" name="[color=red]method[/color]" size="21" value="[color=red]save[/color]" />
....
</form>
这样写比用url传参规范些,个人感觉而已
3.第一点用了DynaActionForm,还是要配置属性,麻烦,用LazyValidatorForm更省事
<form-bean name="bcDepartmentForm" type="org.apache.struts.action.[color=red]LazyValidatorFrom[/color]">
</form-bean>,在action类里面要得到页面的数据:
[color=red]DynaBean [/color]bcDepartmentForm = (DynaBean) form;
BcDepartmentForm bcDepartmentForm =(BcDepartmentForm ) wmCheckvouchForm.get("bcDepartment");
<form-bean name="bcDepartmentForm"type="org.apache.struts.action.[color=red]DynaActionForm[/color]">
<form-property name="pk" type="java.lang.String" />
<form-property name="query" type="java.lang.String" />
<form-property name="pks" type="java.lang.String[]"/>
<form-property name="pageno" type="java.lang.Integer" />
<form-propertyname="bcDepartment" type="com.hust.bc.model.BcDepartment" />
</form-bean>
在页面上只需在每个属性的前面加上bcDepartment,形如:
部门名称 : <input name="bcDepartment.cdepname" id="[color=red]bcDepartment.cdepname[/color]" value='${bcDepartment.cdepname}' dataType="Require" maxlength="20" msg="部门名称是必须的"/>
2.方法的查找,比如要查找某个action下面的方法,在form的action的属性值就是
xxx.do?method=xxxxx
用url传递参数不好,所以可以这样写,就在form标签后面加上这句话,效果一样
<form action="[color=red]xxx.do[/color]" >
<input type="hidden" id="method" name="[color=red]method[/color]" size="21" value="[color=red]save[/color]" />
....
</form>
这样写比用url传参规范些,个人感觉而已
3.第一点用了DynaActionForm,还是要配置属性,麻烦,用LazyValidatorForm更省事
<form-bean name="bcDepartmentForm" type="org.apache.struts.action.[color=red]LazyValidatorFrom[/color]">
</form-bean>,在action类里面要得到页面的数据:
[color=red]DynaBean [/color]bcDepartmentForm = (DynaBean) form;
BcDepartmentForm bcDepartmentForm =(BcDepartmentForm ) wmCheckvouchForm.get("bcDepartment");