ActionForm中reset()的用法

ActionForm中reset()的用法- -
转自:[url] http://hi.baidu.com/fly_dream/blog/item/e4aaa0cc857f301100e92844.html[/url]

这个方法可能被好多人遗忘,但是它确实能解决我们棘手的问题.


我们写的FormBean必须实现ActionForm的超类,reset方法就是定义在这个超类中的.打开源代码可以看到它实际没做什么. 你要使用它,必须自己实现相应的逻辑.

reset方法的调用时间是在ActionServlet给它重新赋值的时候.也就是说,当ActionServlet把View层的数据组装好,给FromBean的各个属性赋值之前,会先调用reset方法,然后ActionServlet再把页面的值赋上.

在处理页面的checkbox的时候,reset方法的作用就表现出来了. 页面上的checkbox在未被选中的时候是不被提交的,在新增的时候还好,你可以通过这个属性是否为null判断这个checkbox是否被选中,但是在修改操作的时候, 如果之前checkbox是被选中的,但是修改的时候你取消了选中, 提交的时候,那么FormBean中的这个属性值就不会被覆盖,还是选中状态的值! 这个时候我们覆写reset方法,就可以解决这个问题.

例如:

是否显示:

FormBean中的reset()可以这样:

public void reset(ActionMapping arg0, HttpServletRequest arg1) {
super.reset(arg0, arg1);
this.isDiplay="false";
}

在每次组装数据前,reset都会把isDiplay置为false,如果页面上被选中,就会再次被设置为true, 如果未被选中还会保持false !
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值