struts2 从一个action跳转到另一个action的struts.xml文件的配置

时间:2021-12-18 21:13:08

解释:

  想要用<result>跳转到另一个action,原来的配置代码是:

<action name="insertDept" class="struts.org.db.DeptAction" method="insertDept">
  <result name="success" type="redirect-action">selectDept</result>
</action>

  我的Struts版本是2.2.1,可能是2.0版本后的action配置方法进行了修改,所以原来的配置方式不行。修改过后如下:

<action name="insertDept" class="struts.org.db.DeptAction" method="insertDept">
  <result name="success" type="redirectAction">
    <param name="actionName">selectDept</param>
  </result>
</action>

方法一举例:

<package name="pack1" namespace="/test1" extends="struts-default">
<action name="A" class="xxx">
<result type="redirectAction" >
<param name="actionName">B</param>
<param name="namespace">/test2</param>
</result>
</action>
</package>
<package name="pack2" namespace="/test2" extends="struts-default">
<action name="B" class="yyy" method=“addUI”>
<result name="success" >
/WEB-INF/test.jsp
</result>
</action>
</package>
说明:以上代码的作用是从名为“A”的action跳到名为“B”的action里,并执行action中的"addUI"方法。两个action在不同的包里。

方法二举例:

<action name="A" class="xxxx">
  <result name="success" type="chain">

    <param name="actionName">B</param>

    <!-- 如果需要命名空间 -->

    <param name="namespace">/xxx</param>

    <!-- 如果需要参数跳转,确保两个类中有get方法和set方法 -->

    <param name="xxx">${xxx}</param>

  </result>

</action>

<!-- 在此类中写上method属性就可以了,这就是你访问的方法 -->

<action name="B" class="xxxx" method="xxxx">

  <result name="success">/index.jsp</result>

</action>