struts1(13)----动态FormBean

在struts中,对与表单数据的formBean, 可以不需要开发者编写formbean,只需要在配置文件中配置一个formbean,这时,在用户提交数据后,会将这些数据自动封装到配置文件中指定的formbean实体中。这个在配置文件中配置的动态formBean是org.apache.struts.action.DynaActionForm。

要使用这个动态formBean的话,首先需要在配置文件中的<form-bean>标签中指定其type属性为org.apache.struts.action.DynaActionForm,其次在<form-bean>的子便签form-property指定每个bean的属性名和类型,如下所示:

<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
			<form-property name="username" type="java.lang.String"></form-property>
			<form-property name="emails" type="java.lang.String"></form-property>
			<form-property name="birthday" type="java.lang.String"></form-property>
			<form-property name="gender" type="java.lang.String"></form-property>
		</form-bean>
这样配置完后,strut将会生成一个DynaActionForm的实体,用它来封装<form-property>所指定属性。这样在action中,便可以通过form来获取这些属性名。获取方式一般是通过其get(Object name);如下所示:

DynaActionForm daf = (DynaActionForm)form;
		String username = (String) daf.get("username");
		String emails = (String) daf.get("emails");
		String birthday = (String) daf.get("birthday");
		String gender = (String) daf.get("gender");
当然,也可以通过BeanUtils工具将这个动态formBean的属性注入到实体的属性中,如:

User user = new User();
		BeanUtils.copyProperties(user, daf);
		
		System.out.println("username:"+user.getUsername());
		System.out.println("emails:"+user.getEmails());
		System.out.println("birthday"+user.getBirthday().toLocaleString());
		System.out.println("gender:"+ user.getGender().getValue());



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值