您的位置:首页 > 编程语言 > Java开发

Struts2 结果视图是另一个Action的情况的配置方式

2017-11-06 10:11 369 查看
Struts2 中的结果视图为我们的页面跳转,不同控制器间的跳转大大提供了便利.

我们常用的结果视图类型有4种:

         1.dispatcher (内部跳转到下一个页面,默认类型)

         2.redirect (重定向到下一个页面)

         3.chain     (内部跳转到下一个action)

         4.redirectAction (重定向到下一个action)

前两种方式我们经常使用,这里就不再赘述,那么,下一个结果视图仍然是action的情况下,配置文件该怎么书写呢?

不论是chain 类型 还是 redirectAction类型,它们的配置方式都是一样的,但是唯一需要注意的地方在于下一个要跳转的action与当前action是否是在同一个包中定义的,

所以要分两种情况:

1.下一个action跟当前action在同一个包中;

<struts>
<constant name="struts.devMode" value="true" />
<!-- 定义包 -->
<package name="default" namespace="/" extends="struts-default">
<action name="test1" class="com.sy.actions.TestAction">
<result type="chain">test2</result>
</action>

<action name="test2" class="com.sy.actions.TestAction2">

</action>
</package>
</struts>


2.下一个action跟当前action在不同的包中;

<struts>
<constant name="struts.devMode" value="true" />
<!-- 定义包 -->
<package name="default1" namespace="/" extends="struts-default">
<action name="test1" class="com.sy.actions.TestAction">
<result type="chain">
<param name="namespace">/</param>
<param name="actionName">test2</param>
</result>
</action>
</package>

<package name="default2" namespace="/" extends="struts-default">
<action name="test2" class="com.sy.actions.TestAction2">

</action>
</package>
</struts>


区别在于第二种情况下需要使用<param name='key'>value</param>的方式来指定要跳转的action的名字和命名空间.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐