关于result标签type属性的三种值

第一种是转发--dispatcher

这也是默认值,转发到一个页面

	<package name="customer" extends="struts-default" namespace="/customer">
		<action name="queryAll" class="com.dimples.action.CustomerAction" method="queryAll">
			<result name="success">/jsp/show.jsp</result>
		</action>
	</package>

第二种是重定向--redirect

这种属性可以重定向到一个页面,也可以重定向到一个action

<package name="xixi" extends="struts-default" namespace="/ceshi">
	<action name="test">
		<result name="success" type="redirect">test2</result>
	</action>
	<action name="test2">
		<result name="success">/jsp/show.jsp</result>
	</action>
</package>
解析:当在result标签里写的是一个action的时候,它会自动追加上.action,所以如果当我们配置的url后缀不包括action的时候,我们需要手动加上后缀,比如 test2.do

第三种是专门重定向到一个action--redirectAction

<package name="xixi" extends="struts-default" namespace="/ceshi">
	<action name="test">
		<result name="success" type="redirectAction">test2</result>
	</action>
	<action name="test2">
		<result name="success">/jsp/show.jsp</result>
	</action>
</package>

解析:这种方法会主动在test2后面智能的加上后缀,所以不用担心你url里是怎么配置的。并且跳转到一个新action的时候,它会给你主动加上这个namespace,在这里也就是 /ceshi  。所以浏览器地址变化是由/ceshi/test  转变为/ceshi/test2,所以注意重定向的这个action要和本action在同一个package里。最后就是想说说由一个action跳到一个页面时,地址拦变化是:

/ceshi/test2  --》  /jsp/show.jsp,也就是记住在写namespace时注意有 /,而action的name都是没有/的,然后写页面的时候要带上/


ps:转发和重定向区别

转发:一次请求    url不变    域中参数可传递    服务器行为    只局限于应用内部

重定向:二次请求    url改变    域中参数丢失    浏览器行为    可重定向到任意地址


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值