码迷,mamicode.com
首页 > 其他好文 > 详细

struts2 Preparable 接口的使用

时间:2015-05-24 00:10:49      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:接口   struts2   java   prepare   preparable   

问题背景:在一个编辑页面中,如果这个页面中没有将表中所有的字段都用显示表单的形式显示出来,并且提供的修改sql是将所有的字段全部update,那么这个页面中就需要将没有显示出来的字段或者使用lable显示的字段全部使用隐藏域放在编辑页面中,这样做太麻烦了!

那么问题来了,有没有更好的解决办法呢?
有,当然有!struts2的Prepare接口很好的解决了这个问题,确切的说struts2中有一个与之相对应的内置过滤器!

下面来介绍一下,这个接口该如何使用呢?很简单!
1.
随便一个action类,实现了 Preparable 接口
2.
如果编辑方法是 update,那么还需要在添加一个方法:void prepareUpdate()
3.
说一下程序执行中,成员变量中属性的变化
在编辑页面中修改的对象是 users,当点击 修改按钮的时候;
首先执行prepareUpdate() 方法, 在这个方法中,users = 从数据库中获取到新的对象;
然后在执行 update() 方法,这个时候,在页面中有 users 对象 form表单中的属性值(包括空值)会覆盖 prepareUpdate() 方法中users 对象的属性值【prepareUpdate() 获取到的users 和 update()方法中获取到的users 对象是同一个对象!】。这样没覆盖掉的users 属性就是 不存在编辑页面form表单中的属性

struts2 Preparable 接口的使用

标签:接口   struts2   java   prepare   preparable   

原文地址:http://blog.csdn.net/xingshi89/article/details/45938643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!