Struts2动态结果(${})and全局结果(global-results)

动态结果

例:根据判定动态结果区分用户进行登录

1.先在TestAction类中进行判定赋值

public class TestAction extends ActionSupport {
    private String power;

    public void login() {
        if (user.isManager) {
            power = "manager";
        } else {
            power = "common";
        }
        return SUCCESS;              
}

2.在Struts.xml中根据动态结果,利用转发类型redirectAction进行动态选择登录

<action name="loginAction" class="">
            <result name="success" type="redirectAction">${power}</result>
        </action>
        <action name="manage" class="......"></action>
        <action name="common" class="......"></action>

全局结果

例:当action处理用户请求后,会首先在Benaction中的result结果中搜索与逻辑视图名对应的结果,只有在action中无法匹配与逻辑视图名对应的结果时,才会去寻找全局结果并执行

1.在Struts.xml中配置

<global-results>
            <result name="error">error.jsp</result>
            <result name="login" type="redirect">login.jsp</result>
        </global-results>

注:如果action中的result元素的名称与全局结果的名称相同时,action中的result元素胡覆盖去阿奴result结果。

原文地址:https://www.cnblogs.com/cnsdhzzl/p/5843270.html