论坛首页 Java企业应用论坛

多个Action之间跳转设置和共享数据问题!

浏览 5316 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-05-15  
在Struts2中有两个Action, Action1和Action2. 现在页面需要先提交到Action1中,然后Action1再forward到Action2中。Action1处理请求(调用数据库),Action2负责展示下一个页面,并且需要用到Action1处理完的结果(有可能是错误信息)。Google了一下,说如果两个Action想共享相互的数据,需要设置type="chain",所以我配置两个Action如下:

<action name="Action1" class="com.abc.Action1">
    <result name="success" type="chain">Action2.action</result>
</action>

                   <action name="Action2" class="com.abc.Action2">
    <result name="success">/jsp/abc.jsp</result>
</action>

现在在Action1 -> Action2的过程中报错:
There is no Action mapped for namespace / and action name Action2.action. - [unknown location]

但是当把type="chain"设置成type="redirect"的时候就可以转到Action2上去。

请问这是什么问题啊!非常郁闷!
   发表时间:2012-05-16  
<result name="success" type="chain">Action2.action</result>
似乎不用加后缀了
0 请登录后投票
   发表时间:2012-05-21  
There is no Action mapped for namespace / and action name Action2.action. - [unknown location]  你翻译下这句话就知道问题处在哪了
0 请登录后投票
   发表时间:2012-05-25  
建议你去看下  struts2 中 result 的 几个 类型 的区别。
0 请登录后投票
   发表时间:2012-05-25  
<result name="success" type="chain">Action2</result> 就行了
0 请登录后投票
   发表时间:2012-05-25  
楼上正解。。。
0 请登录后投票
   发表时间:2012-08-16  
chain和redirect,不是太懂 在这了解下
0 请登录后投票
   发表时间:2012-08-28  
<result name="success" type="chain">Action2.action</result>
改为<result name="success" type="chain">Action2</result>
0 请登录后投票
   发表时间:2012-08-31  
你这种需求 其实就是webflow,可以使用spring webflow 看看  2.0以后和spring mvc整合了
0 请登录后投票
   发表时间:2012-09-03  
那个用chain的,其实在前一个action中设置的值是不能传到后一个action中的,所有action中的get/set都是重新从request中取的
除非你直接在前一个action中设置request.setAttribute
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics