Struts2基础之十:全局result、动态指定result



一:包内的全局<result>标签

<!-- 在这个package中,所有action都可以共用的result -->
<!-- struts-default在jar包中 -->
<package name="xxx" namespace="/xxx" extends="struts-default">
	<global-results>
		<result name="error">/error.jsp</result>
	</global-results>
</package>




二:动态指定<result>标签

action中要有俩属性:一个负责接收传参,另一个负责传递改写后的url

package com.rt.struts2.actionDemo;
import com.opensymphony.xwork2.ActionSupport;

public class DResultAction extends ActionSupport
{
	private int type;//接收传参,根据此值不同,在action内部改写url
	private String url;//url会被struts.xml通过${url}读走
	
	public String execute()
	{
		if(1 == type)//根据传参的不同,动态指定<result>的去向
		{
			url="/tIS1.jsp";//两页面负责输出即可
		}
		else
		{
			url="/tNOT1.jsp";
		}
		return "success";
	}
	
	//setter&getter
	public int getType() {
		return type;
	}
	public void setType(int type) {
		this.type = type;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
}



对应的struts.xml的配置:

通过 ${propertyName} 的表达式,取出了action中的传参:

    <package name="dynamicResult" namespace="/" extends="struts-default">

        <action name="dr" class="com.rt.struts2.actionDemo.DResultAction">
            <result>
                ${url}<!-- http://127.0.0.1:8080/Struts2Object/dr?type=1 -->
            </result>
        </action> 
    
    </package>












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值