?? authorityinterceptor.java
字號:
package com.yuanchung.sales.struts.authority;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;
import com.yuanchung.sales.util.*;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
public class AuthorityInterceptor implements MethodInterceptor{
//執(zhí)行目標方法時,將由該方法替代
public Object invoke(MethodInvocation invocation) throws Throwable{
HttpServletRequest request = null;
ActionMapping mapping = null;
//獲取目標方法的全部參數(shù)
Object[] args = invocation.getArguments();
for (int i = 0 ; i < args.length ; i++ ) {
if (args[i] instanceof HttpServletRequest) request = (HttpServletRequest)args[i];
if (args[i] instanceof ActionMapping) mapping = (ActionMapping)args[i];
}
//如果用戶已經(jīng)登錄
if ( request.getSession().getAttribute(Constants.SESSION_USER) != null){
//繼續(xù)執(zhí)行目標方法
return invocation.proceed();
} else {
request.setAttribute("loginerror", Constants.MESSAGE);
return mapping.findForward("login");
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -