关于Struts 1.x actiomForm

关于Struts 1.x actiomForm
jsp form表单---提交-->ActiomForm--->action---->取出Form中的属性放入VO中----->存到数据库里
如何在actiomForm直接得到VO
1.
jsp里的name名字不变,
actionForm的属性就不是jsp里name的那些属性里
放的是VO,jsp页面对应的VO
如何实现
actionForm的原理:
在struts1中,当点击submit页面提交后, 由 ActionServlet交给RequestProcessor的processPopulate

()方法, 由processPopulate()方法收集请求数据,放在map中,key为表单域的name属性,如 name,

account.name, stocks[0].code. 然后借助于 Common-beanutils 工具包设置到 ActionForm 的相应属性

中,struts对ActionForm中的数据赋值也是从这个map里取值的。
比如:
如果key是简单的'userName',直接form里的方法setUserName(map.get('userName'));
正常的set方法里都是this.usrname= username
现在不这么写
ActiomForm 是VO
public void setUsername(String username) {
empvo.setUsername(username);
}
待会acton里就可以得到Vo了不用再转化了

注意:
要在actiomForm的 public void reset(ActionMapping mapping, HttpServletRequest request)
的方法里new这个vo对象
为什么?
actiomForm
工作机制是首先要执行reset清除map的数据
然后执行set方法
最后执行 validate方法
2.
在jsp页面的命名变了
变成 uservo.username
actiomForm里写get set vo 的方法就可以了
如果key是'uservo.userName', 执行的操作是form.getUser().setUserName(map.get

('user.userName');

注意:
要在actiomForm的 public void reset(ActionMapping mapping, HttpServletRequest request)
的方法里new这个vo对象
为什么?
actiomForm
工作机制是首先要执行reset清除map的数据
然后执行set方法
最后执行 validate方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值