日期:2014-05-17  浏览次数:20742 次

请教关于使用struts2的问题
写项目一直都是用的struts2,不过最近写一网站碰到一个问题:
访问一个网页就是调用一个action,然后action经过处理、查询什么的得出结果,把结果放在ActionContext中,前台jsp把结果用EL表达式、struts标签之类的和HTML结合展示在页面上。通常我们的每个action类都会分在不同的模块,比如用户的就在user模块下,新闻就在news模块下,菜单就在menu模块下。。。。
那比如我现在的网站是每个页面要显示三个某块的内容,比如上面一条是菜单(每个人角色不同看到的菜单就不同,因为菜单有层级,所以到了不同的页面所看到的菜单也不同,所以必须动态生成),中间是新闻内容,下面是友情链接(必须也动态生成)。
那么请问各位大侠,如何输入一个action地址展示这个页面呢(ajax什么的就免了)?比如localhost/index.action。
其实简单的概括一下就是,如果输入一个action的地址去调用三个甚至更多的action,把所有action查询的结果都放到ActionContext中然后返回到jsp中?
求教,谢谢。。。。
Struts

------解决方案--------------------
引用:
我通常很不建议将后台获取的结果放在action的属性中,action的属性就应该是用来接收传过来的值的,而不应该是用来返回给前台。这样的话代码就看起来比较整洁,你只要在action中看到属性,那你就知道调用这个action的时候会传来这些参数。而把结果放在ActionContext中的效果和使用get() 和set()方法的效果是一样的,对前台的取值来说没有任何差别。所以我一般都会这么做,为了提高代码的易读性,方便别人接手和维护。


胡说八道。想整洁中间空一行,上面放传入全局变量,下面放传出全局变量。
页面想找什么都到方法里写得七零八落的ActionContext里面一个一个找,真的很易读,很方便维护。

想一个请求调用若干个action的结果,直接跳页面,页面上用<s:action 标签。