[转] struts2 Result类型(跳转)
Result 类型
Action 中表示跳转的目的地使用了在 struts.xml 配置的字符串, 格式为: <result name=”” type=””></result>,type 可以有多种选择,Struts2 支持各种视图技术,例如 JSP、JSF、XML 等,默认的是 JSP。
常见的 type 类型配置如下:
dispatcher
转发到 JSP 页面,和<jsp:forward page=””/>的效果一样,是默认类型。
<result>/Success.jsp</result>
<result name=”a”>/Success.jsp</result>
<result name=”b” type=”dispatcher”>/Success.jsp</result>
redirect
重定向到 JSP 页面,和 response.sendRedirect(“”)的效果一样。
<result name=”a” type=”redirect”>/Success.jsp</result>
redirect-action
重定向到 action,目的地为 Action,配置时可以指定如下两个参数:actionName-重定向 的 Action 名;namespace-重定向的 Action 所在的命名空间。
<result name=”a” type=”redirect-action”>
<param name=”actionName”>myaction</param>
<param name=”namespace”>/test</param>
</result>
chain
转发到 action,形成 action-chain,可以指定两个参数:actionName-重定向的 Action 名; namespace-重定向的 Action 所在的命名空间。
<result type=”chain”>
<param name=”actionName”>myaction</param>
<param name=”namespace”>/test</param>
</result>
stream
用于向页面返回一个 InputStream,原始数据直接传递给 HttpServletResponse,这种结果 类型在用户下载文件(例如 PDF 文件等)等情况下非常有意义。
<result name=”success” type=”stream”>
<param name=”contentType”>image/jpg</param>
<param name=”inputName”>imageStream</param>
<param name=”contentDisposition”>filename=”document.pdf”</param>
<param name=”buffersize”>1024</param>
</result>
plaintext
用于输出目的地 JSP/HTML 的源代码内容,可以指定两个参数:location-目的地 JSP/HTML,charSet-输出内容时使用的字符集。
<result name="success" type="plaintext">
<param name="location">/Success.jsp</param>
<param name="charset">utf-8</param>
</result>
除了上述类型以外,还支持如下的类型:
chart:用于整合 JFreeChart 的 result 类型;
freemarker:用于整合 FreeMarker 的 result 类型;
httpheader:用于处理特殊 http 行为的 result 类型;
jasper:用于整合 JasperReport 的 result 类型; jsf:用于整合 JSF 的 result 类型;
titles:用于整合 Titles 的 result 类型;
velocity:用于整合 Velocity 的 result 类型;
xslt:用于整合 XML/XSLT 的 result 类型。
这些视图技术的支持,有些还需要导入相应的插件包,即 Struts2 提供的含有 plugin 字 样的 jar 包。
Action 中表示跳转的目的地使用了在 struts.xml 配置的字符串, 格式为: <result name=”” type=””></result>,type 可以有多种选择,Struts2 支持各种视图技术,例如 JSP、JSF、XML 等,默认的是 JSP。
常见的 type 类型配置如下:
![struts2 Result类型(跳转) - 飞鸟之宁 - 宁静地情,飞跃](http://b.bst.126.net/common/portrait/face/preview/face83.gif)
转发到 JSP 页面,和<jsp:forward page=””/>的效果一样,是默认类型。
<result>/Success.jsp</result>
<result name=”a”>/Success.jsp</result>
<result name=”b” type=”dispatcher”>/Success.jsp</result>
![struts2 Result类型(跳转) - 飞鸟之宁 - 宁静地情,飞跃](http://b.bst.126.net/common/portrait/face/preview/face83.gif)
重定向到 JSP 页面,和 response.sendRedirect(“”)的效果一样。
<result name=”a” type=”redirect”>/Success.jsp</result>
![struts2 Result类型(跳转) - 飞鸟之宁 - 宁静地情,飞跃](http://b.bst.126.net/common/portrait/face/preview/face83.gif)
重定向到 action,目的地为 Action,配置时可以指定如下两个参数:actionName-重定向 的 Action 名;namespace-重定向的 Action 所在的命名空间。
<result name=”a” type=”redirect-action”>
<param name=”actionName”>myaction</param>
<param name=”namespace”>/test</param>
</result>
![struts2 Result类型(跳转) - 飞鸟之宁 - 宁静地情,飞跃](http://b.bst.126.net/common/portrait/face/preview/face83.gif)
转发到 action,形成 action-chain,可以指定两个参数:actionName-重定向的 Action 名; namespace-重定向的 Action 所在的命名空间。
<result type=”chain”>
<param name=”actionName”>myaction</param>
<param name=”namespace”>/test</param>
</result>
![struts2 Result类型(跳转) - 飞鸟之宁 - 宁静地情,飞跃](http://b.bst.126.net/common/portrait/face/preview/face83.gif)
用于向页面返回一个 InputStream,原始数据直接传递给 HttpServletResponse,这种结果 类型在用户下载文件(例如 PDF 文件等)等情况下非常有意义。
<result name=”success” type=”stream”>
<param name=”contentType”>image/jpg</param>
<param name=”inputName”>imageStream</param>
<param name=”contentDisposition”>filename=”document.pdf”</param>
<param name=”buffersize”>1024</param>
</result>
![struts2 Result类型(跳转) - 飞鸟之宁 - 宁静地情,飞跃](http://b.bst.126.net/common/portrait/face/preview/face83.gif)
用于输出目的地 JSP/HTML 的源代码内容,可以指定两个参数:location-目的地 JSP/HTML,charSet-输出内容时使用的字符集。
<result name="success" type="plaintext">
<param name="location">/Success.jsp</param>
<param name="charset">utf-8</param>
</result>
除了上述类型以外,还支持如下的类型:
chart:用于整合 JFreeChart 的 result 类型;
freemarker:用于整合 FreeMarker 的 result 类型;
httpheader:用于处理特殊 http 行为的 result 类型;
jasper:用于整合 JasperReport 的 result 类型; jsf:用于整合 JSF 的 result 类型;
titles:用于整合 Titles 的 result 类型;
velocity:用于整合 Velocity 的 result 类型;
xslt:用于整合 XML/XSLT 的 result 类型。
这些视图技术的支持,有些还需要导入相应的插件包,即 Struts2 提供的含有 plugin 字 样的 jar 包。