Struts2 处理结果类型介绍

Struts2的处理结果标签是告诉系统下一步是要做什么。处理结果是通过标签<result></result>来实现的。在讲述struts2的处理结果前,先讲述一下forward和redirect存在着什么区别。

 

Forward 和 Redirect的区别


简单的说Forward是发生在服务器内部,客户端不知道发生了request的转向。客户A向服务器B请求,服务器B处理完请求并发生forward转向,请求不会经过客户端,而是在内部请求另外一个服务器资源。对于客户A来说,该操作是透明的。

Redirect则是客户端A向B请求后,服务器B处理完请求结果,并把结果返回值客户端A,并要求客户端A向服务器C发出请求。对于客户端A来说,其实是发生了两次请求。一个重要的区别还在于,Redirect会重新发起请求,所以会丢失请求参数,请求属性,Action实例和Action中封装的属性。

 

Struts2的处理结果


Struts2支持的处理结果类型:

  • plaintext      系统不做代码解析,直接把页面代码传至浏览器
  • dispatcher     用于JSP页面的整合。
  • chain        Action链式处理的结果类型  
  • redirect       直接跳转至另外的URL的结果类型(属性,参数都会丢失) 
  • redirectAction    直接调至另外的Action的结果类型(属性,参数都会丢失)
  • stream        用于向浏览器返回一个InputStream(一般用于文件的下载)
posted @ 2012-09-14 17:10  Enix  阅读(2442)  评论(0编辑  收藏  举报