Struts2(6)之结果页相关配置

Struts2(6)之结果页相关配置

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

result 标签配置

在使用 Struts2 时,我们通常在 Action 中返回一个逻辑视图结果,这个结果实际上是一个字符串,该字符串与配置中 result 标签的 name 属性对应。 result 标签用于配置页面的跳转,它的使用方式如下:

属性:

  • name:逻辑视图名称,与 action 返回值对应。
  • type:页面跳转类型。

type 的取值有很多,在 struts2-core-2.3.37.jar!/struts-default.xmlpackage 下有定义:

// struts-default.xml > package > result-types
<result-types>
    <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
    <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
    <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
    <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
    <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
    <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
    <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
    <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
    <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
    <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
    <result-type name="postback" class="org.apache.struts2.dispatcher.PostbackResult" />
</result-types>

常用类型有如下几个:

  • dispatcher:默认值,请求转发,从 当前 action 到 jsp。
  • redirect:从当前 action 重定向到 jsp。
  • chain:请求转发,从当前 action 转发到另一个 action。
  • redirectAction:从当前 action 重定向到另一个 action。
  • stream:返回流,文件下载

全局结果页配置

全局结果页指的是在包中配置一次,其它在这个包中所有 action 只要返回了对应 name 值,就都可以跳转到全局结果页配置的页面。

struts.xmlpackage 标签下添加如下节点即可配置全局结果页:

<!--全局结果页配置-->
<global-results>
    <result name="success">/success.jsp</result>
</global-results>

局部结果页配置

局部结果页指的是所配置的结果只对当前所在 action 有效。

struts.xmlpackage>aciton 下配置:

<!--局部结果页配置-->
<action name="*" class="com.zze.action.{1}Action">
    <result>/show.jsp</result>
</action>

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/struts2-6.html

Buy me a cup of coffee ☕.