`

Struts2.2 Results Types

阅读更多

 

视图返回类型详细的信息可以查看 struts2-core-2.1.8.1.jar 包下的 struts-default.xml 里,这个我在拦截器那块已经贴出来了。下面我们就简单介绍各自的作用:

 

类型

描述

使用的类

chain

用来处理Action 链,被跳转的action 中仍能获取上个页面的值,如request 信息。

com.opensymphony.xwork2.ActionChainResult

dispatcher

用来转向页面,通常处理JSP

org.apache.struts2.dispatcher.ServletDispatcherResult

freemaker

处理FreeMarker 模板

org.apache.struts2.views.freemarker.FreemarkerResult

httpheader

控制特殊HTTP 行为的结果类型

org.apache.struts2.dispatcher.HttpHeaderResult

stream

向浏览器发送InputSream 对象,通常用来处理文件下载,还可用于返回AJAX 数据

org.apache.struts2.dispatcher.StreamResult

velocity

处理Velocity 模板

org.apache.struts2.dispatcher.VelocityResult

xslt

处理XML/XLST 模板

org.apache.struts2.views.xslt.XSLTResult

plainText

显示原始文件内容,例如文件源代码

org.apache.struts2.dispatcher.PlainTextResult

redirect

重定向到一个URL ,被跳转的页面中丢失传递的信息,如request

org.apache.struts2.dispatcher.ServletRedirectResult

redirectAction

重定向到一个Action ,跳转的页面中丢失传递的信息,如request

org.apache.struts2.dispatcher.ServletActionRedirectResult

 

 

1 Chain:

<package name="public" extends="struts-default">
    <!-- Chain creatAccount to login, using the default parameter -->
    <action name="createAccount" class="...">
        <result type="chain">login</result>
    </action>

    <action name="login" class="...">
        <!-- Chain to another namespace -->
        <result type="chain">
            <param name="actionName">dashboard</param>
            <param name="namespace">/secure</param>
        </result>
    </action>
</package>

<package name="secure" extends="struts-default" namespace="/secure">
    <action name="dashboard" class="...">
        <result>dashboard.jsp</result>
    </action>
</package>

 

 

2 Dispatcher

<result name="success" type="dispatcher">
  <param name="location">foo.jsp</param>
</result>
 

 

3 FreeMarker

<result name="success" type="freemarker">foo.ftl</result>
 

 

4 HttpHeader

<result name="success" type="httpheader">
  <param name="status">204</param>
  <param name="headers.a">a custom header value</param>
  <param name="headers.b">another custom header value</param>
</result>

<result name="proxyRequired" type="httpheader">
  <param name="error">305</param>
  <param name="errorMessage">this action must be accessed through a prozy</param>
</result>

 

 

5 Redirect

<result name="success" type="redirect">
  <param name="location">foo.jsp</param>
  <param name="parse">false</param>
  <param name="anchor">FRAGMENT</param>
</result>
 
<package name="passingRequestParameters" extends="struts-default" namespace="/passingRequestParameters">
   <-- Pass parameters (reportType, width and height) -->
   <!--
   The redirect-action url generated will be :
   /genReport/generateReport.jsp?reportType=pie&width=100&height=100
   -->
   <action name="gatherReportInfo" class="...">
      <result name="showReportResult" type="redirect">
         <param name="location">generateReport.jsp</param>
         <param name="namespace">/genReport</param>
         <param name="reportType">pie</param>
         <param name="width">100</param>
         <param name="height">100</param>
      </result>
   </action>
</package>

 

 

6 Redirect Action

<package name="public" extends="struts-default">
    <action name="login" class="...">
        <!-- Redirect to another namespace -->
        <result type="redirectAction">
            <param name="actionName">dashboard</param>
            <param name="namespace">/secure</param>
        </result>
    </action>
</package>

<package name="secure" extends="struts-default" namespace="/secure">
    <-- Redirect to an action in the same namespace -->
    <action name="dashboard" class="...">
        <result>dashboard.jsp</result>
        <result name="error" type="redirectAction">error</result>
    </action>

    <action name="error" class="...">
        <result>error.jsp</result>
    </action>
</package>

<package name="passingRequestParameters" extends="struts-default" namespace="/passingRequestParameters">
   <-- Pass parameters (reportType, width and height) -->
   <!--
   The redirectAction url generated will be :
   /genReport/generateReport.action?reportType=pie&width=100&height=100
   -->
   <action name="gatherReportInfo" class="...">
      <result name="showReportResult" type="redirectAction">
         <param name="actionName">generateReport</param>
         <param name="namespace">/genReport</param>
         <param name="reportType">pie</param>
         <param name="width">100</param>
         <param name="height">100</param>
         <param name="empty"></param>
         <param name="supressEmptyParameters">true</param>
      </result>
   </action>
</package>

 

 

7 Stream

<result name="success" type="stream">
  <param name="contentType">image/jpeg</param>
  <param name="inputName">imageStream</param>
  <param name="contentDisposition">attachment;filename="document.pdf"</param>
  <param name="bufferSize">1024</param>
</result>

 

 

8 Velocity

<result name="success" type="velocity">
  <param name="location">foo.vm</param>
</result>

 

 

9 XSL

<result name="success" type="xslt">
  <param name="location">foo.xslt</param>
  <param name="matchingPattern">^/result/[^/*]$</param>
  <param name="excludingPattern">.*(hugeCollection).*</param>
</result>

 

 

10 PlainText

<action name="displayJspRawContent" >
  <result type="plaintext">/myJspFile.jsp</result>
</action>


<action name="displayJspRawContent" >
  <result type="plaintext">
     <param name="location">/myJspFile.jsp</param>
     <param name="charSet">UTF-8</param>
  </result>
</action>

 

 

11 Tiles

<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<%-- Show usage; Used in Header --%>
<tiles:importAttribute name="title" scope="request"/>
<html>
    <head><title><tiles:getAsString name="title"/></title></head>
<body>
    <tiles:insertAttribute name="header"/>

    <p id="body">
        <tiles:insertAttribute name="body"/>
    </p>

	<p>Notice that this is a layout made in JSP</p>
</body>
</html>

 

 

 

 

 

分享到:
评论

相关推荐

    Struts2.2.3.1

    Struts2.2.3.1是Apache软件基金会下的一个开源框架,主要用于构建基于Java的Web应用程序。这个框架是MVC(模型-视图-控制器)设计模式的实现,极大地简化了开发流程,并且提供了丰富的功能来处理HTTP请求、表单提交...

    struts2.2.3.4的帮助文档struts2.2.3.4.chm

    struts2.2.3.4的帮助文档struts2.2.3.4.chm

    struts2.2必须jar包

    Struts2.2 必须的 JAR 包是开发基于Apache Struts 2.2框架的应用程序所需的核心库集合。Struts 2是一个流行的Java开源MVC(模型-视图-控制器)框架,用于构建企业级Web应用程序。它简化了开发流程,提供了一种结构化...

    struts 2.2.1.1 帮助文档

    struts 2.2.1.1 帮助文档struts 2.2.1.1 帮助文档struts 2.2.1.1 帮助文档

    struts2.2.1.1.chm (struts2.2.1.1帮助文档)

    struts2.2.1.1帮助文档(chm格式)自己按高手教的方法制作的,绝对好东西!!!!

    struts2.2.3.1.chm (帮助文档)

    struts2.2.3.1帮助文档struts2.2.3.1帮助文档struts2.2.3.1帮助文档struts2.2.3.1帮助文档

    Struts2.2.1.1API_CHM格式

    Struts2.2.1.1API_CHM格式 Struts2.2.1.1API_CHM格式 Struts2.2.1.1API_CHM格式 Struts2.2.1.1API_CHM格式

    struts2.2.1.1_API

    struts2.2.1.1的帮助文档 CHM格式 struts2.2.1.1的帮助文档 CHM格式 struts2.2.1.1的帮助文档 CHM格式

    Struts2.2.1.1 API

    Struts2.2.1.1 API 自己生成的Struts2.2.1.1帮助文档,希望对大家有帮助

    Struts2.2 升级到Struts2.3

    Struts2.2到Struts2.3的升级是一个重要的更新过程,涉及到多个方面的改动和优化,包括性能提升、安全增强以及新特性的引入。在升级过程中,我们需要关注以下几个关键知识点: 1. **依赖包的更新**:Struts2.3.32...

    struts2.2.1.1 api chm

    struts2.2.1.1 api chm格式 struts2.2.1.1 api chm格式

    struts2.2 JAR包

    Struts2.2 JAR包是Java开发中的一个重要组件,它是Apache Struts框架的一个特定版本。Struts2是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。这个框架旨在提供一种更高效、更灵活的...

    Struts2.2.1.1.chm

    新手学习Struts2的必备手册!Struts2.2.1.1.chm Struts2.2.1.1.chm

    struts2.2学习笔记

    Struts2.2是Java Web开发中常用的MVC框架,其在处理用户请求时具有显著的优势。本笔记主要探讨了Struts2.2的核心概念,包括Action、拦截器、过滤器、国际化以及struts.xml配置文件的解析,尤其是类型转换的细节。 ...

    spring3.0+struts2.2+hibernate3.3集成.rar

    标题 "spring3.0+struts2.2+hibernate3.3集成.rar" 提供了一个关于企业级Java应用开发的集成框架的信息。描述中同样强调了这个主题,暗示了压缩包内可能包含了一个演示或教程,讲解如何将这三个流行的技术——Spring...

    struts2.2.3.1帮助文档(英文)

    struts2.2.3.1文档,根据struts2.2.3.1源代码生成。

    struts2.2.3.1 API帮助文档

    对于Struts2.2.3.1版本的API,我们可以通过以下几大方面来探讨其核心概念和功能: 1. **Action类**:在Struts2中,Action类是业务逻辑处理的核心,它继承自com.opensymphony.xwork2.ActionSupport类。开发者需要在...

Global site tag (gtag.js) - Google Analytics