Struts2配置Result
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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属性