sturts1中的七种Form小结

ActionForm生命周期
sturts1中的七种Form小结_第1张图片
ActionForm Bean从应用和配置的角度分为两类
动态ActionForm和静态ActionForm都是成对出现的。作用一样,只是实现不一样。
一.静态Form
由程序员手工编写Form
1.ActionForm
提交表单的字段名和form中的属性名一致。

2.ValidatorForm
用于验证框架的Form,在请求参数前,先使用验证框架验证。
在struts-config中对应的action标签的validate值为true。
3.ValidatorActionForm
二.动态Form
通过配置文件完成ActionForm配置

1.DynaActionForm
<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>


DynaActionForm lForm = (DynaActionForm)form;
String username = (String) lForm.get("username");
String password = (String) lForm.get("password");
System.out.println("username:"+username+"->"+password);
return mapping.findForward("success");


无法提供默认的验证行为。
2.DynaValidatorForm
和ValidatorForm一样在使用验证框架时使用。配置和DynaActionForm类似。
type="org.apache.struts.validator.DynaValidatorForm"
3.DynaValidatorActionForm
ValidatorActionForm和DynaValidatorActionForm也都是在使用验证框架时使用,和DynaValidatorForm及ValidatorForm不同的是,在配置validtion.xml中<form name=path>
name使用的是action的path属性值。以此来区分不同请求的验证规则。


三.还有一种特殊的Form ,LazyValidatorForm。
<form-bean name="loginForm" type="org.apache.struts.validator.LazyValidatorForm"></form-bean>
我们没有配置form的属性。所以在jsp页面中必须使用struts标签。
	<br>基本使用方式<br>Customer Name:<html:text property="username"></html:text>
		<br>Customer Code:<html:text property="usercode"></html:text>
		<br>
		<br>自动封装Map<br>国家:<html:text property="address(nation)"></html:text>
		<br>省份:<html:text property="address(state)"></html:text>
		<br>城市:<html:text property="address(city)"></html:text>


这样就可以直接进行验证框架和action中的取值。
LazyValidatorForm lz = (LazyValidatorForm)form;
		String username = (String)lz.get("username");
		String usercode = (String)lz.get("usercode");
		System.out.println("name---" + username + "   usercode---" + usercode);
		
		Map m = (Map)lz.get("address");
		System.out.println(m.get("nation"));
		System.out.println(m.get("state"));
		System.out.println(m.get("city"));
	
		return null;

你可能感兴趣的:(xml,框架,jsp,bean,struts)