result_type的几种类型

本文介绍了Struts2中result_type的各种类型,包括dispatcher、redirect、chain、redirectaction等,并对比了它们之间的异同点。此外还介绍了freemarker、velocity等其他类型的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第十一讲:result_type的几种类型


result的类型:默认为dispacther ,

dispacther:用服务器跳转跳转到制定页面上,只能是页面不能使action
<result name="success">/main.jsp</result>
redirect :重定向到另一个页面,可以使另一个action,或另一个页面
<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采取重定向的方式,下一个页面会取不到上一个请求对象里面的值,如果要传值的话,可以采用get的方式传参
<result name="toWelcome" type="redirect">/${folder}/welcome.jsp?account=${account}</result>  


服务器端跳转:浏览器地址不变
客户端跳转:浏览器地址改变


chain:主要把几个相关的action连接起来,共同完成一个功能
<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.js p</result>  
</action>


redirectaction:客户端跳转到另外一个action


chain和redirectaction的异同点?
chain是链式的,是从一个action跳转到另外一个action,但是chain的下一个action可以获得前一个action的请求参数的值,
redirectaction是请求一个新的action,不会获取上一个action的参数值.


redirectaction和redirect的异同点?
地址栏会变化,所有前一个action的请求参数都会丢失,当然也包括action的属性值也会丢失.
区别:请求路径不同,action带后缀,redirectaction不带后缀.
<result type="redirect">/a.action?uid=1</result>
<result type="redirectaction">/a?uid=1</result>


freemarker:处理FreeMarker模板.
httpheader:控制特殊HTTP行为的结果类型.
stream:向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据.
velocity:处理Velocity模板.
xslt:处理XML/XLST模板.
plaintext:页面源码显示出来
tiles

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值