论坛首页 Java企业应用论坛

能不能在Struts中action中设定下个action的Parameter

浏览 14634 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-09-05  
完成action1,forward到action2

action2需要parameter,例如,getParameter("userId"),能不能在action1设定action2需要的parameter呢?而不是通过setAttribute呢?
   发表时间:2004-09-06  
通过FormBean传
0 请登录后投票
   发表时间:2004-09-06  
我有一点不明白,一个action结束以后怎么forward到另一个action啊?在struts-config.xml里面配嘛?我试过:
<action path="/GetAllLogsAction"
             type="com.adt.action.log.GetAllLogsAction"
             name="LogAllForm"
>
             <forward name="success" path="/xxxAction.do" />
</action>


但是服务器报错。不知道楼主是如何forward的
0 请登录后投票
   发表时间:2004-09-06  
可以。配置一下struts-config.xml的action就ok了
0 请登录后投票
   发表时间:2004-09-07  
引用

如果直接指向网址, &lt;forward name="success" path="/xxxAction.do" /&gt;
要用new


不是很明白怎么用new,在配置文件中加?能给个稍具体点的例子嘛?谢谢了!这个问题困惑了我好久。
0 请登录后投票
   发表时间:2004-09-07  
可以有两种方法解决:
1.直接通过页面传递参数
&lt;input type="hidden" name="test" value="XXX"&gt;
在action的处理逻辑中直接通过request对象获取。
new ActionForward("http://xxxx...");

2.通过struts-config.xml进行配置
参数传递还是只能通过隐藏变量
页面跳转可以直接指向下一个action,但是可以通过XXX.do?test=XXXX进行传递。
0 请登录后投票
   发表时间:2004-09-07  
谢谢djh1 And 和风,试了一下,找到解决方法了。

int id = *****;
String nextAction = "listSchedule.do?siteId=" + id;
return new ActionForward(nextAction, true);

这样就ok了。

因为我这个id是动态的,所以不能写在strtuts-config.xml里面.所以不能通过actionMapping.findForward实现了.

这样好像有一点点丑,不过没办法啦,只好这样.

我本来的想法是, strut可以这样写,有个parameter属性
  &lt;forward name="success"   path="/chedule.do" parameter="siteId" redirect="true" /&gt;

然后我在前一个action里面可以写
return actionMapping.findForward("success").setparameter("siteId", id);

就可以啦,那就舒服啦,不过看来struts没有做到这一步,配置的DTD都没有这个属性,只能作罢,不过有上面的解决方法,也都可以啦,丑一点点而已.

随便说说这个redirect="true"哦, 和new ActionForward时候加参数true是一样效果的. "IE浏览器重复提交的问题!"的帖子提到的问题我也碰到的,muziq写的对我有很大的帮助啊,谢啦,哈哈. 都是喜欢直接返回,不喜欢出提示页面的.
0 请登录后投票
   发表时间:2004-09-27  
问题继续,如果我想传一个List对象作为到下一个Action得对象,又如何去做呢?像上面得这样得方法可行嘛?
0 请登录后投票
   发表时间:2004-09-29  
downpour 写道
问题继续,如果我想传一个List对象作为到下一个Action得对象,又如何去做呢?像上面得这样得方法可行嘛?


list的话只好setAttribute了
0 请登录后投票
   发表时间:2004-09-29  
我试过用request.setAttribute,无法传递,后一个Action得到的是空。

只能用session传,但是我感觉是一种bad smell
0 请登录后投票
论坛首页 Java企业应用版

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