Struts2对结果类型的处理
来源:互联网 发布:lomo风格 知乎 编辑:程序博客网 时间:2024/05/16 01:20
Struts2对结果类型的处理
- 在Struts2中我们要编写用于处理用户请求的Action,而对于这个 Action也只是一个控制器,并不应该提供对用户请求的直接响应;那么在Action处理完用户的请求后,处理的结果应由视图资源来实现,这时候,控制器需要做的就是将一个满足用户请求的视图资源呈现给用户,这个事就是由result元素来决定了。
- 每个Struts2中Action的方法都必须返回一个String类型的返回值,而这个返回值便从逻辑上代表了一个视图资源,我们必须通过在配置文件struts.xml进行相关的配置,让这个逻辑视图真实的匹配到一个物理视图资源上,这个对应关系在struts.xml中需要通过result 标签来实现,本文主要介绍的就是result .标签的主要功能。下面让我们开始吧!
- 根据result …配置的位置,Struts2提供了两种结果:
- 局部结果:将 result…元素作为Action的子元素配置
- 全局结果:将 result…元素作为global-results…的子元素配置
- 我们看一段配置信息:
<!--为 success的逻辑视图配置result,type属性指定结果的类型--> <result name="success" type="dispatcher"> <!--指定该逻辑视图的实际对应视图资源--> <param name="location">/ok.jsp</param> <param name="parse">true</param> </result>
在上面的配置片段中,我们在result标签中嵌入了param元素,对于param的name属性值:location 指定的是实际视图资源 ;parse指定的是是否允许在实际视图资源名字中使用OGNL表达式,默认为true,如果为false,即为不允许在实际视图资源名字中使用OGNL表达式,对于这个值我们通常不做修改,所以以上的配置可简化为:
<!--为 success的逻辑视图配置result,type属性指定结果的类型--><result name="success"type="dispatcher">/ok.jsp</result>
现在的配置还可以进一步的简化,我们甚至可以圣罗结果类型的指定(默认结果类型为 dispatcher),而 name也可以省略(默认为SUCCESS),简化后的配置就变成:
<!--为 success的逻辑视图配置result,type属性指定结果的类型--><result name="success"type="dispatcher">/ok.jsp</result>
在Struts2中支持多种视图技术,例如JSP、Velocity、FreeMarker等。Struts2默认提供了一系列的结果类型,下面是struts-default.xml中的配置片段:
<!--Action链式处理的结果类型--> <result-types> <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/><!--用于跳转到JSP的结果类型 注:此为转发动作(forward)--> <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/><!--用于整合FreeMarker的结果类型--> <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/><!--用于控制特殊HTTP行为的结果类型--> <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/><!--用于直接跳转到其他资源的结果类型--> <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/><!--用于跳转到其他Action的结果类型--> <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/><!--用于向浏览器返回一个InputStream的结果类型--> <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/><!--用于整合velocity的结果类型--> <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/><!--用于整合XML/xstl的结果类型--> <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/><!--用于显示某个页面原始代码的结果类型--> <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" /> </result-types>
实质上,我们也可以扩展自己的结果类型,需要提供一个功能性的jar包,然后在struts-plugin.xml中添加配置即可(通过result-type元素指定),本文不详述。
介于时间原因先介绍到这里。
**
0 0
- Struts2对结果类型的处理
- struts2处理结果类型
- struts2 处理结果类型
- struts2:处理结果类型
- struts2支持的处理结果类型
- Struts2 处理结果类型介绍
- 关于结果处理类型input的代码演示-深入Struts2
- Struts2.1.8 处理结果类型有哪些
- Struts2处理5种结果类型
- struts2的result结果类型
- struts2的result结果类型
- Struts2的result结果类型
- struts2返回结果的类型
- struts2的result结果类型
- struts2 支持的结果类型
- Struts2支持的结果类型
- Struts2支持的结果类型
- struts2的结果处理方式
- Python-字典 深拷贝&浅拷贝
- 安卓如何实现点击一个按钮退出整个程序?
- 洛谷 1064——金明的预算方案(动态规划的背包问题)
- 初步认识Angular
- 《CSS权威指南第三版》第四章的读书笔记
- Struts2对结果类型的处理
- 浅谈C++多态
- Web开发之HTML基本标签学习
- 用phpcms如何将静态页面制作成企业网站(中)
- 【JAVA-基础】—理解面向对象
- synchronized实现原理
- 在Eclipse里调试UiAutomator
- IP地址的A类 B类 C类的划分
- Leetcode刷题记——58. Length of Last Word(最后一个单词的长度)