Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。
Struts2支持的不同类型的返回结果为:
名字
说明
Chain Result
用来处理Action链
(1)主要用于把相关的几个action连接起来,共同完成一个功能。
(3)多个action间数据的传递
主要有两种方式:
1。由于处于chain中的action属于同一个http请求,共享一个ActionContext,故可以在上下文中获取,在页面上可以直接使
用。手动获取的方法如下:
HttpServletRequest request =
ServletActionContext.getRequest();
String
s=(String)request.getAttribute("propName");
2。实现ModelDriven接口
Dispatcher Result
用来转向页面分发请求,通常处理JSP
FreeMarker Result
处理FreeMarker模板
HttpHeader Result
用来控制特殊的Http行为
Redirect Result
重定向到一个URL
sendRedirect是重定向,是重新产生一个HTTP请求到服务器,故重定向后其原来所在的action上下文就不可用了。
Redirect Action Result
重定向到一个Action
Stream Result
向浏览器发送InputSream对象,通常用来处理文件下载
Velocity Result
处理Velocity模板
XLS Result
处理XML/XLST模板
PlainText Result
显示原始文件内容,例如文件源代码
S2PLUGINS:Tiles Result
结合Tile使用
JSON:Json Result
返回Json结果
他们主要的区别在于