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.ServletActionRedirectResult
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.ServletActionRedirectResult
plaintext
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.ServletActionRedirectResult
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.ServletActionRedirectResult
plaintext