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

时间:2023-03-10 05:23:18
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结果。