请教开发中的分层问题,急!!!
现开发的项目,
持久层:hibernate
业务层:spring
表现层:没有使用什么struts框架,使用了本公司的一个框架,并且JSP中使用的C标签。
现在拿页面数据的保存和显示,来说一下我所要请教的问题。
一、背景环境:
(一)保存
1> 利用公司的框架,会自动把页面数据绑定到formbean(formbean中的数据对应于多个表中的数据)
2> 利用公司的框架,会执行相应的业务类,把formbean中的值分到所对应的各个PO中,并把这些PO存放到list列表中。
3> 然后调用业务服务类,把list列表中的各个PO,调用DAO的相应方法持久化。
(二)显示
1> 利用公司框架,执行相应的业务类调用DAO中相应的方法,进行数据查询。假如是通过userid查询获得用户信息,方法返回为User对象(即PO),并把此对象存在request的attribute中(以便通过页面的C标签获得)。
2> 通过C标签获得User对象的各个属性值显示在JSP页面上。
二、请教问题
公司前一个小项目的工作形式,如上面所说的保存和显示。
现感觉有点问题,请指点:
A> 数据显示:在页面显示时通过C标签直接获得PO对象,并显示其各个属性值是否合适?是否应在业务类中把查询得到的PO对象进行封装,把PO对象的数据对应封装到Formbean中,然后把此Formbean对象存在request的attribute中,最后通过C标签显示在页面上。
B> 数据保存:我现在采用的这种方式是否有问题?
现在想,无论是保存还是显示,是否都不应直接操作对应于数据库的PO?如果不应该,我是否应在业务层加入BO,查看了一些资料,感觉BO和PO没有什么区别,那我要怎么做呢?
为了使项目针对需求的改动(如表中加入一字段、页面显示格式变化等),能有更大的适应性,也就是最少的代码改动,并且只在一层做改动即可。
由于项目经验不足,所以不知如何做,请banq指点。
十分感谢!!