码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2基础学习(三)—Result和模型驱动

时间:2016-05-08 19:48:52      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

一、result

     Action处理完用户请求后,将返回一个普通的字符串,整个普通字符串就是一个逻辑视图名,Struts2根据逻辑视图名,决定响应哪个结果,处理结果使用<result>元素配置。

     局部结果: 将<result>作为<action>子元素配置。

     全局结果: 将<result>作为<global-results>元素的子元素配置。

     配置<result>元素要指定两个属性。

     name: 该属性指定配置逻辑视图名。

     type: 指定结果类型。

 

1.全局结果

     当多个action中都使用到了相同result,这时我们应该把result定义为全局结果。

	<package name="user" extends="struts-default" >
	
		<!-- 配置全局的结果 -->
		<global-results>
			<result name="error">/index.jsp</result>
		</global-results>
	
		<action name="resultAction" class="com.kiwi.action.ResultAction">
			
		</action>
						
	</package>

 

2.结果类型

        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
            <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
            <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
            <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
            <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
            <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
            <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
            <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
            <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
            <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
        </result-types>

 

(1)dispatcher

     请求转发到一个页面。dispatcher结果类型是最常用的结果类型,也是Struts2默认的结果类型。该结果类型有一个location的参数,它是默认的参数。

    技术分享

 

(2)redirect

     请求重定向到一个页面。redirect 结果类型将把响应重定向到另一个资源, 而不是转发给该资源。

 

(3)chain

     请求转发到另一个Action。

     redirectAction 结果类型接受下面这些参数:
     actionName: 指定"目的地"Action的名字。它是默认属性。
     namespace: 用来指定"目的地"Action的命名空间. 如果没有配置该参数, Struts 会把当前 Action 所在的命名空间作为 "目的地"的命名空间。

     如果想转发到另一包而且那个包有namesapce时,可以这样写。

	<package name="user" extends="struts-default">
	
		<action name="act1" class="com.kiwi.action.ResultAction">

			<result name="success" type="chain">
				<param name="namespace">/test</param>
				<param name="actionName">act2</param>
			</result>

		</action>
		
	</package>

	<package name="server" namespace="/test" extends="struts-default">
	
		<action name="act2">
			<result name="success">/success.jsp</result>
		</action>
		
	</package>

 

(4)redirectAction

     请求重定向到另一个Action,同上。

 

(5)stream

     下载用的,以后再说。

 

(6)plainText

     以纯文本的形式展现内容。

Struts2基础学习(三)—Result和模型驱动

标签:

原文地址:http://www.cnblogs.com/yangang2013/p/5471112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!