修改操作的表单里有名称为
entity.id(只读),entity.name
的两个字段当我用struts2对其进行更新的时候,name字段可以被修改,过程是正常的。说明:我采用了getEntity,setEntity方法直接把entity对象的值初始化到修改表单里,这是struts2的方便之处,但是,用了这种方法后发现,当把修改表单提交到action后,再次得到entity,这时的entity里除了entity.id,entity.name的其他字段都变成null了,这当然不是我所要得结果,我只希望改那些修改表单中出现的字段,而其他未出现的字段不变,而不是变成null有谁遇到过这个问题,用其他的办法也能解决,但struts2能把表单自动转化成记录的方法实在是方便,各位帮忙回答一下
解决方案 »
- 定时器
- 请教hibernate外键关联表的存储操作,不甚感激!
- 急急 分页怎么保留checkbox选中的值 就是点击下一页上一页的多选的勾还在
- XML读取的一个问题
- sax获取指定的节点
- struts2和webwork在用action处理业务逻辑时有什么不同?它们的工作原理一样吗?
- 哪里可以下载jboss+tomcat整合包?(100)
- 想在网上买些Java/jsp/uml/struts方面的书,大家给推荐一下这些方面的书,以及可以货到付款而且IT书比较全的网站
- ···Struts中,在ActionForm中定义Timestamp类型的属性,在网页提交时出错????????
- 使用javax.mail.*下面的类和接口的时候,出现包找不到的现象,请教应该加什么包到什么地方?
- Struts2拦截器问题
- 高手快来,跨域,tomcat取得数据后,如何主动刷新它域下面的某个页面
本来struts2 spring hibernate整合起来,就是帮助程序员,将纪录作为一个对象进行操作你再去把纪录拆开,就更麻烦了吧
用这个human对象的humanService根据human.getId()来得到原来的human实例,然后修改表单提交来的human对象的name,sex对原来的name,sex进行更新然后保存原来的human实例。对于修改操作,我是这么做的,看看大家是怎么做的??????
1.重新从数据库查询原来的记录,然后修改部分字段(多一次查询,效率最低,通用性最好,能保证其他字段数据一致)
2.直接在sql语句中写上需要修改的字段(效率最高,通用性最差,能保证其他字段数据一致性)
3.不修改的字段用hidden或readonly方式提交后台(上述两种方式的折中,但不能保证其他字段数据一致)不考虑效率绝对选第一种