日期:2014-05-18  浏览次数:20736 次

一个页面要显示多个模型(vo)的数据,action怎么设计?
本来一个页面显示一个vo,就写一个action,一个form,这很简单。但有以下问题:
1、一个jsp页面要显示三个vo模型的数据,怎么设计?要写三个action还是在一个action里面调用三个dao?
2、我是把struts里查询到的数据通过request.setAttribute传给jsp页面的,这样如果用户直接输入地址访问jsp页,就看不到数据了。这就带来一些问题,比如显示的action的url不好看

------解决方案--------------------
肯定是一个action里面调用三个dao的方法好些,request.setAttribute三个vo的对象
当然三个action也能实现,只不过连续跳转三次,将取出来的vo放在session范围内,jsp页面才能收到值
顺便说一句,action和form是俩概念,象DispatchAction里可以有n个方法,但只需要一个form
------解决方案--------------------
理解。。觉得用session存值不太好,还是用request赋值吧

另外第2个问题怎么解决呢,比如页面调用了我的action里的save方法,执行完,我return给list方法,这样的话url显示为.do?action=save,这样显示不大好吧,而且用户刷新页面的话会造成重复提交;但如果用sendDirect给jsp页面,又会造成接受不到request.setAttribute的数据,如何解决呢?