根据登录不同的用户来访问不同的页面怎么来做呢?
可以用动态结果集来做,根据输入的不同,到action中做对比,不同的参数指定不同的url字符串,然后在struts.xml中配置,result中利用${}取出url。
/**
* 登陆3-->权限
*
* @param name
* @param pass
* @return
*/
public static String isLogin3(User stu) {
if ("dgy".equals(stu.getUname()) && "aaa".equals(stu.getUpwd())) {
return "admin";
} else if ("qsm".equals(stu.getUname()) && "aaa".equals(stu.getUpwd())) {
return "customer";
}else {
return "user";
}
}
在Action中处理
//setXXX and getXXX
private String result;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
@Override
public String execute() throws Exception {
String result1 = UserDao.isLogin3(user);
if ("admin".equals(result1)) {
result = "/index2.jsp"; // 返回具体 的页面
} else if ("customer".equals(result1)) {
result = "/customer.jsp";
} else if ("user".equals(result1)) {
result = "/common.jsp";
}
System.out.println(result);
return SUCCESS; //返回成功
}
struts.xml配置文件
<!-- 动态调用结果 -->
<action name="pro" class="com.hlx.login.LoginAction2">
<result>${result}</result>
</action>
效果: