哪题。从一个action 的方法 直接到到另一个方法。requets的值就接收不到了。直无耐。

解决方案 »

  1.   

    你是用的什么方式跳转的,如果是重定向不是同一个request。
      

  2.   


    那到跳到另一个action 它都是重定向的
      

  3.   

    <result name="..">
    <param name="namespace">这里填命名空间</param>
    <param name="actionName">这里填action名</param>
    <param name="id">${id}</param>
    <param name="你想传的值的name">你想传的值的值</param>
    </result>
    如果想用原action里的值需要用${},并需要在原action里提供getter,在新action(要重定向到的action)中提供setter。 
      

  4.   

    Struts这方面是最强的了。你还是不太会用
      

  5.   

    如果个值是在第一个action里产生的,那就在第一个action里设置一个request.setAttribute(xx,xx);在第二个action里使用request.getAttribute(xx);而且配置文件里不要配置成二次跳转.
    <action .....>
      <forward name="success" path="xxx.do" redirect="false"/> 
    </action>
      

  6.   

    其实 可以放 session
    里啊
      

  7.   

    1.<result type="redirectAction"></result>:所有的请求参数和请求结果都丢失。2.<result type="chain"></result>:请求参数和请求结果不会丢失。 
      

  8.   

    在struts 2的配置文件,action元素中type属性有个指定是专门调用action用的,好像是“redirect-actioin”具体的记不清了。晚上回去我再查查!这样acton调用action的时候就可以用request对象了还有一种方法就是直接在action代码中直接调用另外一个action----不推荐使用这种方法
      

  9.   


    楼主检查下代码吧,struts2除了标签有点问题以外,其他的还是很强大的。
      

  10.   

    response.sendRedirect("documentSortRightTable!findSalm.action");
      

  11.   

      不要在action中的方法存值,在action中存,试试
      

  12.   

    放入form中,然后通过request.getAttribute("name")就可以拿到了
      

  13.   

    在提交表单的时候把值放在表单内
    例如提交到save方法  在save方法里面不用拿值
    在sava方法后面直接返回到另外一个方法
    在另一个方法里面直接用reqeust.getParameter()方法获得就可以了
    之前我们做修改之后能返回当前页都是这么做的
    楼主如果有不明白的地方可以找我要代码
      

  14.   

    我也遇到过这样的问题了,最后是private Map request的set方法写错了,自动生成错了,我把它的set方法改成了(Map request){
    this.request=request;
    }
     这样就好了
      

  15.   

    struts2的form还是挺强大的,虽然别的地方有不如struts1的,不向下兼容比较郁闷
      

  16.   

    楼主只是你对Struts2 了解太少了。目前只发现Struts2.0.14 版本有中文问题 其他的没发现什么
    <result name="..">
    <param name="namespace">这里填命名空间 </param>
    <param name="actionName">这里填action名 </param>
    <param name="id">${id} </param>
    <param name="你想传的值的name">你想传的值的值 </param>
    </result> 

    引用楼上的。
      

  17.   

    楼主可以试一下放入form中,然后通过request.getAttribute
    如果不行,得看看用什么方式跳转了
      

  18.   

    都跳了这么多地方你,你还能找得到来时的路莫!
    request都跳了好几次了,还怎么取!
      

  19.   

    先不说action之间的跳转为什么不能取到request中的值,经验告诉我,
    在当前流行的MVC的开发模式中,action作为Model层,不同的action之间是不应该相互联系的,理论上是应该一个action负责一块业务,为什么要相互跳转呢?然后再说action跳转的问题,我记得是可以通过struts配置文件来实现跳转的吧?具体不太清楚了,因为现在的项目没有用到struts。可以去 网上查查
      

  20.   

    “struts2从一个action 跳到另一个action”
    不知道你是不是使用的forward()方法,理论上使用这个方法是不会取不到值的。
    如果你使用的是这个没取到值的话,看看是不是其它地方出的问题。
      

  21.   

    用request跳转啦!request作用域会带参数过去
      

  22.   

     放到FORM里 用 GETTER  SETTER 就解决了 
      

  23.   

    应该有很多种方法:
    1.把你要的值传到session中。
    2. --6楼的
    <result name="..">
    <param name="namespace">这里填命名空间 </param>
    <param name="actionName">这里填action名 </param>
    <param name="id">${id} </param>
    <param name="你想传的值的name">你想传的值的值 </param>
    </result>
    如果想用原action里的值需要用${},并需要在原action里提供getter,在新action(要重定向到的action)中提供setter。
    3.ActionContext ctx = ActionContext.getContext();
       ctx.put("name","你要传的值!!");
    4.在页面form中:
       <form method="post" 
       action="<s:url value="myaction.action?id=%{#request.id}"
        encode="iso-8859-1" />" > 
       </form>
    应该够你用了吧?
      

  24.   

    再原action中设定一个属性,并给该属性设定get和set方法。然后在struts.xml中用el传值。
    如:action中有一个name属性,已经设定了get和set方法。在struts.xml中的设置如下
    <result name="update" type="redirectAction">
    <param name="actionName">update</param>
    <param name="name">${name}</param>
    </result>
    在转向后的action中就可以用String idStr = ServletActionContext.getRequest().getParameter("name");方式取值。当然也有其他的方法。你也可以参考官方文档如:http://struts.apache.org/2.0.12/docs/parameters-in-configuration-results.html
      

  25.   

    action中值的传递我经常使用2个方法:1.ActionContext 对象   2.使用Spring 管理
      

  26.   

    <result name="success" type="chain">action名</result> 这样就可以了
      

  27.   

    用session 应该可以
    举个列子
    你在一个Action里面保存了Arraylist对象,当你在另一个Action里面要用到此对象是,你可以用request.getSession().getAttribute("");获取此对象.
      

  28.   

    n种方法。
    即使redirect action也是可以传递的,可以在属性里用param传递。
      

  29.   

    lz的信息提供的过于简单了吧?
    主要还是 redirect 和 forward 的区别
      

  30.   

    <action name="affUpdate" class="afficheUpdateAction">
      <result type="redirectAction">
        <param name="actionName">affBackManage.action</param>
        <param name="curPage">${curPage}</param>
        <param name="id">${id}</param>
        <param name="updateInfo">${updateInfo}</param>
      </result>
    </action>
    param里除了actionName是你要跳转的路径,剩下的都是你可以自己添加或删减的参数,最终跳转到affBackManage.action?curPage=..&id=..&updateInfo=..
      

  31.   

    两个不同的request对象,你怎么可能拿到值呢。
      

  32.   

    那是两个不同的request怎么能取到值呢。
      

  33.   

    重定向的时候,把paramater丢了吧,所以request不到的
      

  34.   

    跳转到action的。redirectAction是重定向,chain是转发。。