Strut2 的result-type参数详解

已配置结果类型名 类 名 描 述
dispatcher org.apache.struts2.dispatcher.
ServletDispatcherResult
 默认结果类型,用来呈现JSP页面
chain com.opensymphony.xwork2.
ActionChainResult
 将action和另外一个action链接起来
freemarker org.apache.struts2.views.freemarker.
FreemarkerResult
 呈现Freemarker模板
httpheader org.apache.struts2.dispatcher.
HttpHeaderResult
 返回一个已配置好的HTTP头信息响应
redirect org.apache.struts2.dispatcher.
ServletRedirectResult
 将用户重定向到一个已配置好的URL
redirectAction org.apache.struts2.dispatcher.
ServletActionRedirectResult
 将用户重定向到一个已定义好的action
stream org.apache.struts2.dispatcher.
StreamResult
 将原始数据作为流传递回浏览器端,
该结果类型对下载的内容和图片非常有用
velocity org.apache.struts2.dispatcher.
VelocityResult
 呈现Velocity模板
xslt org.apache.struts2.views.xslt.
XSLTResult
 呈现XML到浏览器,
该XML可以通过XSL模板进行转换
plaintext org.apache.struts2.dispatcher.
PlainTextResult
 返回普通文本类容

以上是struts2的几种常见result-type的类型。接下来做一个详细介绍:


1. dispatcher   
  
    用来转向页面,通常处理JSP   
  
    org.apache.struts2.dispatcher.ServletDispatcherResult   

2. chain   
  
    用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。   
  
    com.opensymphony.xwork2.ActionChainResult   
   
3. freemaker   
  
    处理FreeMarker模板   
  
    org.apache.struts2.views.freemarker.FreemarkerResult   
  
4 .httpheader   
  
    控制特殊HTTP行为的结果类型   
  
    org.apache.struts2.dispatcher.HttpHeaderResult   
 

5. stream   
  
    向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据   
  
    org.apache.struts2.dispatcher.StreamResult   
  
6. velocity   
  
    处理Velocity模板   
  
    org.apache.struts2.dispatcher.VelocityResult   
  
7. xslt   
  
    处理XML/XLST模板   
  
    org.apache.struts2.views.xslt.XSLTResult   
  
8. plainText   
  
    显示原始文件内容,例如文件源代码   
  
    org.apache.struts2.dispatcher.PlainTextResult   
9. redirect   
  
    重定向到一个URL ,被跳转的页面中丢失传递的信息,如request  
  
    org.apache.struts2.dispatcher.ServletRedirectResult   
  
10 redirect-action   
  
    重定向到一个Action ,跳转的页面中丢失传递的信息,如request     
  
    org.apache.struts2.dispatcher.ServletActionRedirectResult

 *******************************************************************************************************************************************8 
注:redirect与redirect-action区别

一、使用redirect需要后缀名 使用redirect-action不需要后缀名
二、type="redirect" 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。

如:

(1) redirect传递参数

<result name="success" type="redirect">viewTask.action</result>
<result name="success" type="redirect-action">viewTask</result>

(2) 附:redirect-action 传递参数
<action name="enterpreinfo" class="preinfoBusinessAction"    method="enterPreinfoSub">  
  <result name="success" type="redirect-action">  
     showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;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中属性的值;在这个配置文件里,多个参数的连接符使用了"&amp;",但XML的语法规范,应该使用"&amp;"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:

参考地址:

http://wangguorui89.iteye.com/blog/1105570

http://blog.knowsky.com/188302.htm

http://blog.csdn.net/etttttss/article/details/7484915



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值