动态结果配置:struts.xml中,<result>属性的type配置之redirectAction(请求重定向到指定的Action)
2016-08-07 12:21
591 查看
实例:
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";
}
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";
}
相关文章推荐
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- struts.xml配置文件中result的语法:<result name="" type="">xxxxx</result>
- struts.xml配置文件中result的语法:<result name="" type="">xxxxx</result>
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- struts.xml文件中<result>的type属性详解
- struts.xml配置文件中result的语法:<result name="" type="">xxxxx</result>
- struts.xml配置文件中result的语法:<result name="" type="">xxxxx</result>
- Struts.xml <result>中type的几种属性
- struts.xml文件中 result标签的 type 属性为redirectAction时URL参数与值的获得
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- 【Struts】strust.xml中<result type="">所有类型详解
- struts2 result类型为redirectAction时,跳转转到另一个包空间里的一个action的指定处理方法的xml配置
- struts.xml文件<result>里面的type类型
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- struts.xml属性重名处理:关于<package><action><result>的name和namespace属性同名时struts2的处理
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- <result name="success" type="redirectAction">ro...
- Struts2-2.了解struts.xml>package>action>result的name属性