拦截器 doIntercept()

登录拦截器

protected String doIntercept(ActionInvocation invocation) throws Exception {
		// 获得请求相关的ActionContext实例,并获得对应session
		ActionContext ctx = invocation.getInvocationContext();
		String userName = (String)ctx.getSession().get("username");
		// 如果没有登录,返回超时页面
		if(userName != null || "".equals(userName)) {
			return invocation.invoke();
		}
		return "timeout";
    }
1. 如果拦截器堆栈中还有其他的Interceptor,那么invocation.invoke()将调用堆栈中下一个Interceptor的执行。  
2. 如果拦截器堆栈中只有Action了,那么invocation.invoke()将调用Action执行。

获得请求相关的ActionContext实例,并获得对应session

ActionContext ctx =invocation.getInvocationContext();

String userName =(String)ctx.getSession().get("username");

如果没有登录,返回超时页面

if(userName !=null ||"".equals(userName)) {

    return invocation.invoke();

}

return "timeout";

你可能感兴趣的:(拦截器 doIntercept())