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为空时, 会怎么样?? 如:




否则会报错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 类型配置如下:

struts2 Result类型和对应的用法_struts

dispatcher

转发到 JSP 页面,和<jsp:forward page=””/>的效果一样,是默认类型。 

<result>/Success.jsp</result> 

<result name=”a”>/Success.jsp</result> 

<result name=”b” type=”dispatcher”>/Success.jsp</result> 

struts2 Result类型和对应的用法_struts

redirect

重定向到 JSP 页面,和 response.sendRedirect(“”)的效果一样。 

<result name=”a” type=”redirect”>/Success.jsp</result>

struts2 Result类型和对应的用法_struts

 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> 

struts2 Result类型和对应的用法_struts

 chain

转发到 action,形成 action-chain,可以指定两个参数:actionName-重定向的 Action 名; namespace-重定向的 Action 所在的命名空间。

 <result type=”chain”> 

<param name=”actionName”>myaction</param> 

<param name=”namespace”>/test</param> 

</result>

struts2 Result类型和对应的用法_struts

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> 

struts2 Result类型和对应的用法_struts

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 包。