Struts2配置Result

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

配置Result

一个result代表了一个可能的输出。当一个Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出。

Results配置由两部分组成:一部分是result映射,另一部分是result类型。

1.结果映射

在struts.xml文件中,使用result元素来配置result映射。result元素有两个可选的属性:

在Struts2中允许定义一个默认的Result类型,这是通过result-type元素来定义的。在框架的默认配置文件struts-default.xml中,在struts-default.xml包中有如下的一个配置:

class="org.apache.struts2.dispatcher.ServletDispatcherRe

sult"default="true"/>

result-type元素的default属性指定名为dispatcher的结果类型,

dispatcher结果类型使用ServletAPI中的ResultDispatcher将请求导向到目

标资源(通常是JSP页面)。如果在使用result元素配置result映射时,没有使用

type类型,那么框架就将使用默认的dispatcher类型。

由于Struts2中的包是可以继承的,所以我们定义的package只要继承了

struts-default包,因此也继承了默认的结果类型,所以可以省略result元素的

type属性。

如果没有指定result元素的name属性,那么框架将把它命名为”success”。

2.结果类型

在框架调用Action对请求进行处理之后,就要向用户呈现一个结果视图,Struts2支持多种类型的视图,这些视图是由不同的结果类型来管理的。

一个结果类型就是实现了com.opensymphony.xwork2.Result接口的类,在Struts2中定义了多种结果类型,如下表所示:

plainText用于显示某个特定页面(例如JSP,HTML)的原始内容(即页面的代码)

结果类型在包中使用result-type元素定义,以下列出的结果类型都是在框架的默认配置

文件struts-default.xml中定义的。

class="com.opensymphony.xwork2.ActionChainResult"/>

class="org.apache.struts2.dispatcher.ServletDispatcherR

esult"default="true"/>

class="org.apache.struts2.views.freemarker.FreemarkerResu

lt"/>

class="org.apache.struts2.dispatcher.HttpHeaderResult"/>

class="org.apache.struts2.dispatcher.ServletRedirectResu

lt"/>

class="org.apache.struts2.dispatcher.ServletActionRedire

ctResult"/>

class="org.apache.struts2.dispatcher.StreamResult"/>

class="org.apache.struts2.dispatcher.VelocityResult"/>

class="org.apache.struts2.views.xslt.XSLTResult"/>

class="org.apache.struts2.dispatcher.PlainTextResult"/>

我们也可以创建自己的结果类型注册到引用程序中。首先需要编写一个实现了

com.opensymphony.xwork2.Result接口的类,然后在struts.xml文件中使

用result-type元素来注册你的结果类型。自定义的结果类型可以生成E-mail,或者生成JMS消息,也可以生成图像等。

3.常用结果类型

1>dispatcher结果类型:

Struts2在后台使用Servlet API的RequestDispatcher来转发请求,因此在用户的整个请求/相应过程中,目标Servlet/JSP接收到的

request/response对象,与最初的Servlet/JSP相同。

disptcher结果类型的实现类是:

org.apache.struts2.dispatcher.ServletDispatcherResult

该类有两个属性:location和parse,这两个属性可以通过struts.xml

配置文件中的result元素的param子元素来设置。param元素的name属性

相关文档
最新文档