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
plaintext
显示原始文件内容,例如文件源代码
org.apache.struts2.dispatcher.PlainTextResult
redirect
重定向到一个URL ,被跳转的页面中丢失传递的信息,如request
org.apache.struts2.dispatcher.ServletRedirectResult
redirectAction
重定向到一个Action ,跳转的页面中丢失传递的信息,如request
org.apache.struts2.dispatcher.ServletActionRedirectResult
redirect-action
重定向到一个Action ,跳转的页面中丢失传递的信息,如request
org.apache.struts2.dispatcher.ServletActionRedirectResult
注:redirect与redirect-action区别
一、使用redirect需要后缀名 使用redirect-action不需要后缀名
二、type="redirect" 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。
如:
<result name="success" type="redirect">viewTask.action</result>
<result name="success" type="redirect-action">viewTask</result>
附:redirect-action 传递参数
<action name="enterpreinfo" class="preinfoBusinessAction" method="enterPreinfoSub">
<result name="success" type="redirect-action">
showpreinfo?preinfo.order_number=${preinfo.order_number}&preinfo.company_name=${preinfo.company_name}
</result>
<result name="error" type="redirect">
<param name="location">/error.jsp</param>
</result>
</action>
因为使用了redirect-action,所以要注意不能将 showpreinf?preinfo.order_number=${preinfo.order_number}写成 showpreinf.action?preinfo.order_number=${preinfo.order_number}
其中${}为EL表达式,获取action:enterpreinfo中属性的值;在这个配置文件里,多个参数的连接符使用了"&",但XML的语法规范,应该使用"&"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:
json 一般很容易忽略的一个地方(在EXT中非常有用)示例view plaincopy to clipboardprint?<package name="struts2" extends="json-default" namespace="/"> <action name="login" class="loginAction" method="login"> <result type="json"> <param name="includeProperties">success,result</param> </result> </action> <action name="main" class="loginAction" method="main"> <result name="main">/index.jsp</result> </action> </package> <package name="struts2" extends="json-default" namespace="/">
<action name="login" class="loginAction" method="login">
<result type="json">
<param name="includeProperties">success,result</param>
</result>
</action>
<action name="main" class="loginAction" method="main">
<result name="main">/index.jsp</result>
</action>
</package> view plaincopy to clipboardprint?private boolean success = true; private String result = "main.action"; //getter和setter方法略 private boolean success = true;
private String result = "main.action";
//getter和setter方法略
以上的success和result互相对应到了view plaincopy to clipboardprint?<param name="includeProperties">success,result</param> <param name="includeProperties">success,result</param> struts2会根据其设置的值匹配跳转对于json一般情况下很少用到,但是在处理ext的时候会用到这个属性类型,这个地方也是经常被忽略的。
分享到:
相关推荐
Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果.render 到一个 JSP 页面。Struts...
在Struts2中,Result Type是由`struts-default.xml`配置文件中的`<package>`元素的`defaultResultType`属性指定的,默认情况下,这个值通常是“dispatcher”,意味着Action完成后会使用Dispatcher Result来渲染JSP...
在Struts2框架中,每个动作(Action)都可能有多个结果(Result),这些结果是由配置文件(如struts.xml)中的`<result>`标签定义的。当一个Action执行完成后,根据其返回值,Struts2会寻找匹配的结果类型并执行相应...
在Struts2中,Action是业务逻辑的核心组件,而Result是控制流程的关键部分,它定义了Action执行后如何展示结果。Result Type是Result的一种预定义类型,决定了结果如何被处理和展现给用户。在`struts-default.xml`...
Struts2中的`result`配置是框架的核心特性之一,它提供了灵活的页面跳转机制。通过合理地使用全局结果配置和具体的Action结果配置,可以大大简化开发过程,提高代码的复用性和可维护性。此外,掌握不同结果类型的...
在Struts2中,配置文件主要分为两个部分:`struts-default.xml`和用户自定义的配置文件,如`struts.xml`或`struts-config.xml`。这些XML文件定义了Action、结果类型、拦截器和包等元素,从而控制应用程序的行为。 *...
在Struts2中,结果(Result)是动作(Action)执行后跳转的目标,它可以是一个JSP、Servlet或其他资源。有时我们需要在Action执行后向结果传递参数,以便在目标页面中使用这些参数来呈现数据或执行某些逻辑。本文将...
### Struts2中的Result与Type详解 #### 一、引言 在Struts2框架中,`Result`和`Type`是两个非常重要的概念。它们主要用于控制Action执行完毕后页面的跳转方式以及如何处理Action返回的结果。通过合理配置`Result`与...
通过分析`redirectActionTest`文件,我们可以深入理解Struts2中`redirectAction` Result类型的实现和应用场景,包括配置、工作流程以及优缺点。实践这些知识可以帮助我们更有效地构建和维护Struts2驱动的Web应用。
### Struts2中Action间的参数传递方法 在Struts2框架中,经常需要实现Action之间的跳转,并在跳转过程中传递必要的参数。这种需求在实际开发中非常常见,尤其是在需要根据用户的不同操作来调用不同的业务逻辑时。...
Struts2 中 Action 接收参数的方法 Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性...
在Struts2中,`Result`标签是核心组件之一,用于定义动作执行后如何跳转到相应的视图。让我们深入探讨一下`Result`标签的使用以及在Struts2框架中的作用。 ### 1. Struts2框架概述 Struts2框架基于MVC设计模式,...
这篇博文将深入探讨Struts2中的result配置以及各种视图转发类型。 首先,让我们理解Result的基本概念。在Struts2的配置文件(如struts.xml)中,每个Action可以有多个结果,每个结果对应一个特定的视图。Result配置...
在Struts2中,配置是至关重要的,因为它定义了框架的行为、动作映射、结果处理、异常处理以及拦截器的使用。下面我们将深入探讨Struts2的配置机制。 1. **配置类型**: - **struts.properties**: 这是一个配置文件...
1. **基础配置**:在Struts2中,基础配置主要通过`struts.xml`文件完成。这个文件定义了Action(动作)及其对应的Result(结果)。例如,你可以声明一个Action类,指定它的结果页面,如`...
包(`package`)是Struts2中组织Action的一种方式,类似于Java中的包概念。每个包可以包含多个Action。 ```xml <package name="honghu" extends="struts-default"> ``` - **`name`**:包名,必须唯一。 - **`extends...
在Struts2框架中,`struts.xml`是一个核心配置文件,用于配置Action、拦截器、结果类型等。它定义了应用程序的行为和流程。文件必须遵循特定的DTD(Document Type Definition),以确保符合Struts2的标准格式。 ```...
本文将详细介绍Struts2中的两个插件——Zero Config(零配置)与CodeBehind,以及它们如何共同工作以减少配置文件的复杂度。 #### 二、Zero Config插件介绍 Zero Config插件的主要目的是减少甚至消除`struts.xml`...
- **拦截器配置**:拦截器是Struts2中的一个重要组件,它可以在Action执行前后执行一些操作,如参数校验、事务管理等。 ```xml <interceptor name="myInterceptor" class="com.example.MyInterceptor"></...
在Struts2中,Result主要负责将处理后的数据传递给相应的视图,如JSP、HTML或者其他的静态资源。Result类型是通过配置在Action类的execute方法返回值或者struts.xml配置文件中定义的。默认情况下,如果未明确指定...