在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分:结果类型和结果本身。
Struts2框架提供的结果类型
已配置结果类型名 | 类 名 | 描 述 |
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 | 返回普通文本类容 |
dispatcher:用来转向页面,通常处理JSP.
chain:用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息.
freemaker:处理FreeMarker模板.
httpheader:控制特殊HTTP行为的结果类型.
redirect:重定向到一个URL,被跳转的页面中丢失传递的信息,如request.
redirectAction:重定向到一个Action,跳转的页面中丢失传递的信息.
stream:向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据.
velocity:处理Velocity模板.
xslt:处理XML/XLST模板.
plainText:显示原始文件内容,例如文件源代码.
同时需要注意的是,struts2也是可以返回json的,但是需要添加相关的jar包的:、json-lib-2.1-jdk15.jar、struts2-json-plugin-2.1.8.1.jar,而且在struts的配置文件中需要继承json-default,如下所示:
<struts>
<package name="emp" extends="struts-default,json-default">
……
</package>
<struts>