日期:2014-05-18  浏览次数:20811 次

struts2两个Action之间传参
第一个Action

public class TerminalInfoAddAction extends ActionSupport {

private TerminalInfoAddService terminalInfoAddservice;   
         private List<TerminalEntity> terminalInfoAddList = new ArrayList<TerminalEntity>();
        private List<TerminalEntity> validList ;
       。。。。。。。。
         get和set方法
}

第二个Action

public class TerminalInfoAddResultAction extends ActionSupport {
private static final long serialVersionUID = 1L;

private TerminalInfoAddResultService terminalInfoAddResultService;
private TerminalEntity requestTerminalInfoAddResult;

public String execute() {


requestTerminalInfoAddResult 。。
         }
。。。。。。getset方法
}
想将第一个action的validList 作为参数传给第二个action中的requestTerminalInfoAddResult 变量

struts.xml 配置文件这么写没有传参成功,为啥呢?
应该怎么写
<action name="InsertAction" class="terminal.edit.TerminalInfoAddAction" method="insertDBdata">
<!-- <result name = "insert" type="chain">TerminalInfoAddResultAction</result> -->
<result name = "insert" type="chain">
  <param name="actionName">TerminalInfoAddResultAction</param>
  <param name="validList">${validList}</param>
                <param name="requestTerminalInfoList">${requestTerminalInfoList}</param>
            </result>   
<result name = "input" >/WEB-INF/jsp/terminal/edit/terminalInfoAdd.jsp</result>
</action>

------解决方案--------------------
引用:
引用:<result name = "insert" type="chain">TerminalInfoAddResultAction.action?requestTerminalInfoAddResult=${validList}</result>
There is no Action mapped for namespace [/……


你的另一个action的name是TerminalInfoAddResultAction这个吗?不是的话把action的name改改。
是的话type=“redirectAction”试试