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

Posted 一只猫的旅行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2 从一个action跳转到另一个action的struts.xml文件的配置相关的知识,希望对你有一定的参考价值。

解释:

  想要用<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>

以上是关于struts2 从一个action跳转到另一个action的struts.xml文件的配置的主要内容,如果未能解决你的问题,请参考以下文章

Struts2中如何从action的一个方法中跳转到另一个action的方法中

Struts2从一个action转到另一个action的两种方法

关于struts2防止表单重复提交

Struts2 action 跳转到web-inf下,

thinkphp5无法用html表单中的action跳转到另一个页面?

怎样在页面做一个链接跳转另一个页面