精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-09-05
action2需要parameter,例如,getParameter("userId"),能不能在action1设定action2需要的parameter呢?而不是通过setAttribute呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-09-06
通过FormBean传
|
|
返回顶楼 | |
发表时间: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的 |
|
返回顶楼 | |
发表时间:2004-09-06
可以。配置一下struts-config.xml的action就ok了
|
|
返回顶楼 | |
发表时间:2004-09-07
引用 如果直接指向网址, <forward name="success" path="/xxxAction.do" /> 要用new 不是很明白怎么用new,在配置文件中加?能给个稍具体点的例子嘛?谢谢了!这个问题困惑了我好久。 |
|
返回顶楼 | |
发表时间:2004-09-07
可以有两种方法解决:
1.直接通过页面传递参数 <input type="hidden" name="test" value="XXX"> 在action的处理逻辑中直接通过request对象获取。 new ActionForward("http://xxxx..."); 2.通过struts-config.xml进行配置 参数传递还是只能通过隐藏变量 页面跳转可以直接指向下一个action,但是可以通过XXX.do?test=XXXX进行传递。 |
|
返回顶楼 | |
发表时间: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属性 <forward name="success" path="/chedule.do" parameter="siteId" redirect="true" /> 然后我在前一个action里面可以写 return actionMapping.findForward("success").setparameter("siteId", id); 就可以啦,那就舒服啦,不过看来struts没有做到这一步,配置的DTD都没有这个属性,只能作罢,不过有上面的解决方法,也都可以啦,丑一点点而已. 随便说说这个redirect="true"哦, 和new ActionForward时候加参数true是一样效果的. "IE浏览器重复提交的问题!"的帖子提到的问题我也碰到的,muziq写的对我有很大的帮助啊,谢啦,哈哈. 都是喜欢直接返回,不喜欢出提示页面的. |
|
返回顶楼 | |
发表时间:2004-09-27
问题继续,如果我想传一个List对象作为到下一个Action得对象,又如何去做呢?像上面得这样得方法可行嘛?
|
|
返回顶楼 | |
发表时间:2004-09-29
downpour 写道 问题继续,如果我想传一个List对象作为到下一个Action得对象,又如何去做呢?像上面得这样得方法可行嘛?
list的话只好setAttribute了 |
|
返回顶楼 | |
发表时间:2004-09-29
我试过用request.setAttribute,无法传递,后一个Action得到的是空。
只能用session传,但是我感觉是一种bad smell |
|
返回顶楼 | |