struts2中action跳转action问题

ayawar 2014-01-10 09:00:18
action1:
<action name="test" class="testAction">
<result name="suc1" type="chain">/test2!m1.action</result>
</action>

action2:
<action name="test2" class="test2Action">
<result name="suc2">index.jsp</result>
</action>


java代码 action1:
public String test(){
...
request.setAttribute("id" , 1);
return suc1;
}

action2:

public String m1(){
...
int id = request.getParameter("id");
}

我想在第二个action取到第一个action里面通过作用域保存的值,type值设置为redirect可以成功跳转,但是取不到request作用域里面的值,type值设置为chain又会出现找不到action的提示,这是什么原因啊,望高手解答,在此先谢过
...全文
124 点赞 收藏 7
写回复
7 条回复
dunshaokun 2014年02月05日
好的方法暂时还没有,你可以把test2的method配置进去,这样就没有问题了 <action name="test2" class="test2Action" method="m1"> <result name="suc2">index.jsp</result> </action> 而在type="chain"时,名称使用 test2即可. 报歉,前几天没有登录,没有及时回复
回复 点赞
tzp19910827 2014年01月10日
我觉得楼主应该理解一下转发和重定向的概念,以及这两种方式下作用域的区别
回复 点赞
指尖张扬 2014年01月10日
type值应该设置redirectAction,指定重定向到Action
回复 点赞
ayawar 2014年01月10日
引用 4 楼 dunshaokun 的回复:
重定向时有拦截器解析这种字符串 test2!m1.action 但是type=chain不会,它只会根据名称交给另一个Action,在你的配置中不存在"test2!m1"的action
那应该怎么样找到另一个action中的方法了?
回复 点赞
ayawar 2014年01月10日
引用 1 楼 cheng157507947 的回复:
type值应该设置redirectAction,指定重定向到Action
type设置为redirect和设置为redirectAction效果一样 能够成功实现action间的跳转,但是重定向是不能保存request作用域下的值
回复 点赞
dunshaokun 2014年01月10日
重定向时有拦截器解析这种字符串 test2!m1.action 但是type=chain不会,它只会根据名称交给另一个Action,在你的配置中不存在"test2!m1"的action
回复 点赞
ayawar 2014年01月10日
引用 2 楼 tzp19910827 的回复:
我觉得楼主应该理解一下转发和重定向的概念,以及这两种方式下作用域的区别
我想问的并不是redirect和forward的概念,而是为什么通过重定向可以成功实现action访问到另一个action,而设置为type类型链chain就不行
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告