struts配置的result属性。 result的动态配置 . result 全局结果 global-result

一、result常用的结果类型。

dispatcher  默认的结果类型。 转发。

redirect     重定向。

redirectAction :主要用于重定向到Action

如下 manage之间的重定向。

<action name= "login" class="cn.jbit.hrent.action.LoginAction" >
	<result name="success" type="redirectAction">manage</result>
	<result name="error" type="redirect">error.jsp</result>
	<result name="input" type="dispatcher" >login.jsp</result>
</action>
<action name="manage"  class= ="cn.jbit.hrent.action.UserAction" >
	…
</action>

二、result的动态配置


配置时不知道执行的结果是哪一个,运行时才知道那个结果作为视图传递给用户。

1.可以实现user判断是管理员还是用户。


public class UserAction extends ActionSupport {
	private String nextDispose;
	public String login() {
		...
		if(user.isManager()){
			nextDispose = "manager";
		}else{
			nextDispose = "common";
		}
		return SUCCESS;
	}
	public String getNextDispose(){
		return nextDispose;
	}
	...
}


<struts>
	<package name="default" extends="struts-default">
		<action name="login"
			lass="cn.jbit.houserent.action.UserAction" method="login">
			<result type="redirectAction">${nextDispose}</result>
			<result name="error">/page/error.jsp</result>
		</action>
		<action name="common"
			class="cn.jbit.houserent.action.CommonUserAction">
			…
		</action>
		<action name="manage"
			class="cn.jbit.houserent.action.ManagerAction">
			...
		</action>
	</package>
</struts>


三、全局结果


全局结果可以满足一个包中多个Action共享一个结果。

<struts>	
	<default-action-ref name="defaultAction"/ >
	<package name="default" extends="struts-default">
		<global-results>                                                   //全局结果位于package内
			<result name="error">/page/error.jsp</result>
			<result name="login" type="redirect">/page/login.jsp</result>
		</global-results>
		<action name="login" 
	class="cn.jbit.houserent.action.UserAction" method="login">
	        <result>/page/manage.jsp</result>
	        <result name="input">/page/login.jsp</result>
	        <result name="error">/page/error.jsp</result>   <span style="white-space:pre">		</span> // 此处的error 就不需要配置了
	</action>		
	…
	</package>
</struts>

如下的继承包也可以实现demo包的全局结果。

<package name="default" namespace="/" extends="struts-default">
		<global-results>
			<result name="error">/error.jsp</result>
		</global-results>
	</package>
	<package name="demo" namespace="/" extends="default">
		<action name="..." class="...">
			<result name="success">/success.jsp</result>
		</action>
	</package>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值