第一种设计,我是把po放到ActoionForm 中,ActoionForm 中还有其他的一些变量作为控制,比如errormessage等(页面中PO没的属性),页面引用时,对PO里面的值,通过ActoionForm .po.property方式 我使用的mvc是struts+spring+hibernate
还有另一种设计,ActoionForm (只为输入设计的VO),没有引用PO,在Action中,把Form转换成PO,然后进行dao.save(PO)、dao.update(PO)等操作,查询时,再把PO的属性值传递给ActoionForm 作为显示,其中PO和ActoionForm 之间的传值用BeanUtils.copyProperties(actoionForm , PO)/BeanUtils.copyProperties(PO,actoionForm)
我的想法是第一种设计由于PO被当作VO来与页页交互省去了很多代码量,维护显得更简洁,性能方面会比第二种高,在实际项目中也这样应用,当然,我的设计思想是把第二种方式作为第一种方式的补充,以弥补PO属性与页面对应不够的情况,实际项目证明是可行的,不知还有没有ActoionForm与PO对应的更好的设计
博客围绕Struts+Spring+Hibernate的MVC架构,探讨了ActoionForm与PO的两种设计方式。第一种将PO放于ActoionForm,与页面交互代码量少、维护简洁、性能高;第二种ActoionForm为输入VO,需在Action中转换。作者以第二种补充第一种,还期望有更好设计。

被折叠的 条评论
为什么被折叠?



