struts2中result的type跳转类型

1 配置result

 
  result的目的就是告诉Struts2框架,在执行完一个Action后,需要系统做什么?是把一个视图资源呈现给用户还是执行另外一个Action,result配置起到了一个“路标”的作用。
    result按照作用域范围可以分为局部result和全局result。

    局部result:包含在Action定义中,result属性是一个Action的子元素。其作用范围只能在本Action中。

    全局result:使用<global-result>来定义,其作用范围是所有的Action都可以使用。

    其中type指定了result的类型,默认是dispatcher,该类型支持JSP视图技术。

    对应子元素<param>,可以指定下面两个属性:
            location:该属性定义了该视图对应的实际视图资源
            parse:该参数指定是否可以在实际视图名字中使用OGNL表达式,Struts2框架默认该属性为true,即支持OGNL表达式。

    如果没有指定result的name属性,则系统会默认为success;如果没有指定location属性,系统会把<result></result>中间的字符串当作实际视图资源来处理。

2 result的类型

    Struts2框架默认配置中已经提供了很多的result类型,可以打开struts-default.xml配置文件来查看。

    chain:Action链式处理的结果类型,也就是将结果转发到这个action中。
    chart:整合JFreeChart的结果类型
    dispatcher:用于整合JSP的结果类型
    freemarker:用于整合freemarker结果类型。
    httpheader:用于控制特殊的HTTP行为的结果类型。
    jasper:用于JasperReports整合的结果类型
    jsf:用于整合JSF后的结果类型
    redirect:实际上dispatcher和redirect的区别就是在于转发和重定向的区别。
    redirect-action:用于直接redirectaction。
    stream:用于向浏览器返回一个Inputstream(用于文件下载)
    tiles:用于整合Tiles后的结果类型。
    velocity:用于整合Velocity的结果类型。
    xslt:用于整合XML LT的结果类型。
    plaintext:用于显示某个页面的源代码。
   
    chain类型
    Struts2框架支持配置多个Action组成一个链或者工作流来处理用户的请求,而Action链的实现,是通过拦截器ChainingInterceptor完成的。ChainingInterceptor在源执行完毕后,将源Action的用户请求参数、值栈、session的数据赋值给目的Action,也就是说,在执行多个Action过程中,参数都是保留的。Struts2框架并不推荐开发者使用这种Action链式的结果类型,该框架推荐使用redirect-action类型。

    redirect类型
    redirect结果类型与Struts2框架默认的结果类型dispatcher相对应。到dispatcher类型是将请求转发到指定的视图资源,而redirect类型是重定向到指定的视图资源。重定向将会丢失所有的参数、值栈和请求属性,即同时失去了Action的处理结果。而dispatcher是类型转发,将会把上述的所有数据资源转发给视图资源

    redirect-action类型
    redirect-action结果类型与redirect结果类型非常相似,都是重新生成一个新的请求,都是重新定向。




chain     

      用来处理Action链     

      com.opensymphony.xwork2.ActionChainResult     

dispatcher     

      用来转向页面,通常处理JSP     

      org.apache.struts2.dispatcher.ServletDispatcherResult     

freemaker     

      处理FreeMarker模板     

      org.apache.struts2.views.freemarker.FreemarkerResult     

httpheader     

      控制特殊HTTP行为的结果类型     

      org.apache.struts2.dispatcher.HttpHeaderResult     

redirect     

      重定向到一个URL     

      org.apache.struts2.dispatcher.ServletRedirectResult     

redirectAction     

      重定向到一个Action     

      org.apache.struts2.dispatcher.ServletActionRedirectRes ult     

stream     

      向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据     

      org.apache.struts2.dispatcher.StreamResult     

velocity     

      处理Velocity模板     

      org.apache.struts2.dispatcher.VelocityResult     

xslt     

      处理XML/XLST模板     

      org.apache.struts2.views.xslt.XSLTResult     

plainText     

      显示原始文件内容,例如文件源代码     

      org.apache.struts2.dispatcher.PlainTextResult     

redirect-action     

      重定向到一个Action     

      org.apache.struts2.dispatcher.ServletActionRedirectRes ult     

plaintext     

      显示原始文件内容,例如文件源代码     

      org.apache.struts2.dispatcher.PlainTextResult
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值