动态结果配置:struts.xml中,<result>属性的type配置之redirectAction(请求重定向到指定的Action)

  实例:

    struts.xml的配置

    <!-- 开启动态方法,value改为true -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />


        <action name="login" class="com.house.action.UserAction" method="doLogin">
            <result name="success" type="redirectAction">${nextAction}</result> <!-- 权限分配 转到下一个action -->
        </action>
        <!-- 普通用户 -->
        <action name="common">
            <result>/page/house_list.jsp</result>
        </action>
        <!-- 管理员 -->
        <action name="manager">
            <result>/page/manage.jsp</result>

        </action>

-------------------------------------------------------------------------------------------------------------

    Action代码中的写法

    增加:
    private String nextAction;   //下一个action的名字,用于实现动态结果的配置 

    public String getNextAction() {
        return nextAction;
    }
    public void setNextAction(String nextAction) {
        this.nextAction = nextAction;
    }

  登录方法的写法:

    //登录
    public String doLogin() throws UnsupportedEncodingException {        
        // 调用业务逻辑层
        User temp = biz.login(user.getUserName(), user.getUserPass());
        if (temp != null) {
            if("1".equals(temp.getIsAdmin())){
                nextAction = "common";
            } else if("0".equals(temp.getIsAdmin())){
                nextAction = "manager";
            }
            return "success";
        }
        return "error";
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值