struts2结果类型

视图结果类型
在struts2-core-2.0.11.2.jar根目录下的struts-default.xml中配置了struts2提供的一系列结果类型
struts2的结果类型实现了com.opensymphony.xwork2.Result接口
type支持的结果类型:

chain:用来处理Action链
chart:整合JFreeChart的结果类型
dispatcher:用来转向页面,通常处理JSP
freemaker:处理FreeMarker模板
httpheader:控制特殊HTTP行为的结果类型
jasper:用于JasperReports整合的结果类型
jsf:JSF整合的结果类型
redirect:重定向到一个URL
redirect-action:重定向到一个Action
stream:向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据
tiles:与Tiles整合的结果类型
velocity:处理Velocity模板
xslt:处理XML/XLST模板
plaintext:显示原始文件内容,例如文件源代码


dispatcher 结果类型为缺省的result类型,用于返回一个视图资源(如:jsp)
Xml代码 :

<result name="success">/main.jsp</result>
<result name="success">/main.jsp</result>
以上写法使用了两个默认,其完整的写法为:
   <result name="success" type="dispatcher">
     <param name="location">/maini.jsp</param>
</result>
location只能是页面,不能是另一个action(可用type="chain"解决)。

redirect 结果类型用于重定向到一个页面,另一个action或一个网址。
Xml代码:

<result name="success" type="redirect">aaa.jsp</result>
<result name="success" type="redirect">bbb.action</result>
<result name="success" type="redirect">www.baidu.com</result>

redirect-action 结果类型使用ActionMapperFactory提供的ActionMapper来重定向请求到另外一个action
Xml代码:

<result name="err" type="redirect-action">
    <param name="actionName">重定向的Action名</param>
     <param name="namespace">重定向Action所在的名字空间</param>
</result>
redirect和redirect-action两种结果类型在使用上其实并没有什么区别,只是写法不同而已。

chain 用于把相关的几个action连接起来,共同完成一个功能。
Xml代码:

<action name="step1" class="test.Step1Action">
     <result name="success" type="chain">step2.action</result>
</action>
<action name="step2" class="test.Step2Action">
<result name="success">finish.jsp</result>
</action>
处于chain中的action属于同一个http请求,共享一个ActionContext
  
plaintextj 结果类型用于直接在页面上显示源代码

Xml代码:

<result name="err" type="plaintext">
    <param name="location">具体的位置</param>
    <param name="charSet">字符规范(如GBK)</param>
</result>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值