Struts2 Action跳转带参数问题

james_lzhp 2009-06-04 02:13:12
问题很简单:当我提交一个Action后,由action1方法完成了逻辑运算,但是我希望同时再激活另一个Action,即action2中继续帮我处理后续事件,但头一个Action中的某些参数需要传过去,而且参数名是带.的,请高手帮帮忙.急,在线等,好了就加分.

<action name="action1" class="com.action.manage.UserManage" method="action1">
<result name="success" type="redirect-action">action2.action?para.para1="${para.para1}"</result>
</action>
...全文
16244 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿诺 2011-09-07
  • 打赏
  • 举报
回复
可以在 action中写 js代码 用window.location.href="";这样子估计可以吧参数传过去
试试看哈
阿诺 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 qiye2008 的回复:]
简直了就,这个问题其实非常的简单,我居然花了大半天的时间才明白是咋回事!struts2中action跳转到action中尚未支持而且也并不需要支持跳转到带参数的action方法中,跳转到的action的方法中的参数去掉就可以了,方法体内部再去调用使用删除掉的方法参数的业务类方法。OK!终于解决了!只能怪自己太菜了@!
[/Quote]
说清楚点啊 读来读取 读不明白!简单的举个例子呗!

楼主怎么解决的!我也遇到这个问题 问了好多就是没问出来!
解决了就告诉我一下!
dreams_hope 2011-08-30
  • 打赏
  • 举报
回复
把参数那里的双引号去掉就可以,像下面这个样子:

<action name="action1" class="com.action.manage.UserManage" method="action1">
<result name="success" type="redirect-action">action2.action?name=${paramName}</result>
</action>



我这边有案例的。
zhoujianghua_2008 2011-08-30
  • 打赏
  • 举报
回复
之前没有这样用过,有一次是返回到一个页面,然后直接请求第二个action.参数正常带就行
vagrant5 2010-08-04
  • 打赏
  • 举报
回复
14楼正确
tbjtt301 2010-08-03
  • 打赏
  • 举报
回复
chain:

<action name="logon" class="com.action.ActionName1">
<result name="resultStr" type="chain">
<param name="namespace">/Action2 namespace</param>
<param name="actionName">Action2 actionName</param>
<param name="para.para1">${para.para1} </param>
</result>

<param name="namespace">/Action2 namespace</param> 記得加“/” 不然會報錯的!!!
wenjjing2lianee 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 redlotus_lyn 的回复:]
<action name="action1" class="com.action.manage.UserManage" method="action1">
    <result name="success" type="redirectAction">
        <param name="actionName">action2 </param>
        <param name="namespace">action2所在命名空间 </param>
        <param name="para.para1">${para.para1} </param>
    </result>
</action>
[/Quote]

用这种<result name="success" type="redirectAction">
wenjjing2lianee 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 baykermr 的回复:]
Struts2中预定义的结果类型

chain------
dispatcher------
freemarker---
httpheader
redirectAction
stream
velocity
xslt
plainText
这些类型自己去查查怎么用
----------
redirectAction类型是重定向到另一个Action
<result type="redirectAction">
    <param name="actionName">actionName </param>
</result>
[/Quote]

兄台很不错
qiye2008 2010-01-06
  • 打赏
  • 举报
回复
简直了就,这个问题其实非常的简单,我居然花了大半天的时间才明白是咋回事!struts2中action跳转到action中尚未支持而且也并不需要支持跳转到带参数的action方法中,跳转到的action的方法中的参数去掉就可以了,方法体内部再去调用使用删除掉的方法参数的业务类方法。OK!终于解决了!只能怪自己太菜了@!
heiyewuhen 2009-12-10
  • 打赏
  • 举报
回复

<result name="input" type="redirect">XXX.action?paramName=${property}</result>

<result name="input" type="redirect-actino">
<param name="actionName"> <generateBarcodeparam>
<param name="namespace"> </param>
<!--上面两个是固定的,下面是参数 -->
<param name="paramName">${property}</param>
</result>
msjqd 2009-11-24
  • 打赏
  • 举报
回复
<action name="action1" class="com.action.manage.UserManage" method="action1">
<result name="success"> action2 </action>
</action>
<action name="action2" class="com.action.manage.UserManage" method="action1">
<result name="success">base/showuserrole.action?oid=${oid}</result>
</action>


直接用action 触发另外一个action 就可以了
不知道是不是你需要的
foxriver1205 2009-11-24
  • 打赏
  • 举报
回复
直接用一个Session就OK了。
gubest_1 2009-11-24
  • 打赏
  • 举报
回复
也可以再中转到一个JSP页面再跳转到另一个ACTION
nature_he 2009-11-23
  • 打赏
  • 举报
回复
学习
redlotus_lyn 2009-11-23
  • 打赏
  • 举报
回复
<action name="action1" class="com.action.manage.UserManage" method="action1">
<result name="success" type="redirectAction">
<param name="actionName">action2</param>
<param name="namespace">action2所在命名空间</param>
<param name="para.para1">${para.para1}</param>
</result>
</action>
feiyangdesky 2009-11-18
  • 打赏
  • 举报
回复
jf
niuzk0411 2009-11-18
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 fansyao 的回复:]
用chain
<action name="action1" class="com.action.manage.UserManage" method="action1">
<result  type="chain">action2 </result>
</action>
[/Quote]
同意这个
baykermr 2009-11-17
  • 打赏
  • 举报
回复
Struts2中预定义的结果类型

chain------
dispatcher------
freemarker---
httpheader
redirectAction
stream
velocity
xslt
plainText
这些类型自己去查查怎么用
----------
redirectAction类型是重定向到另一个Action
<result type="redirectAction">
<param name="actionName">actionName</param>
</result>
weianle151 2009-11-17
  • 打赏
  • 举报
回复
同意9楼的方法
baykermr 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qiaozirue 的回复:]
Java code
在ACTION给这个oid get set方法。在给oid一个值 setOid(123);<action name="updateuserrole"class="userRoleAction" method="userroleupdate"><result name="success" type="redirect">/base/showuserrole.act?-
[/Quote]

要在Action2中要有传的这个参数的GETTER/SETTER方法。
加载更多回复(15)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧