您的位置:首页 > 编程语言 > Java开发

struts2 Result类型和对应的用法

2014-05-11 11:40 483 查看

5个Return值用法

String 里面有5个static
常量分别是:ERROR INPUT LOGIN NONE SUCCESS
例如 如果在excute 中返回的是 ruturn SUCCESS;
也就相当于返回的是return "success"
字符串就必须在struts.xml中写上对应的"success"<result name="success">/x.jsp</result>
当然EORROR 对应的就是"error";
字符串当然INPUT 对应的就是"input";
字符串当然LOGIN 对应的就是"login";
字符串当然NONE 对应的就是"none";字符串

在struts中,action中的result为空时, 会怎么样?? 如:<result></result>

当在action中返回的return none时,那在配置文件里面就不许要写这个result

否则会报错Invalid result location value/parameter

在myeclipse8.6一下的版本不会出现,但是在myeclipse9.0中就会出现该错误。

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 包。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: