67,512
社区成员
发帖
与我相关
我的任务
分享
竟然有这样的问题发生我的身上,搞一天了还没调试出来。
package com.tfl.shop_manage.common;
import java.util.Map;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.tfl.shop_manage.action.AdminLoginAction;
public class AdminActionInterceptor extends AbstractInterceptor {
private Logger logger = Logger.getLogger("AdminActionInterceptor");
@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext ctx = invocation.getInvocationContext();
Map session = ctx.getSession();
String adminName = (String) session.get("curAdminName");
// String adminName = (String) ServletActionContext.getRequest().getSession().getAttribute("curAdminName1");
System.out.println("loginName="+adminName);
System.out.println("LoginAction.calss="+AdminLoginAction.class);
System.out.println("invocation.getAction().getClass="+invocation.getAction().getClass());
if(null != adminName){
logger.info("if");
return invocation.invoke();
}else{
//登录页 session中没值
if(AdminLoginAction.class==invocation.getAction().getClass()){
return invocation.invoke();
}
logger.info("else");
logger.info("已拦截器");
return "login"; //在struts.xml里定义一个 <global-results>
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 拦截没登录的action -->
<package name="baseAction" extends="struts-default">
<interceptors>
<interceptor name="adminActionInter" class="com.tfl.shop_manage.common.AdminActionInterceptor"></interceptor>
<interceptor-stack name="adminActionInterStack">
<interceptor-ref name="adminActionInter"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="adminActionInterStack"></default-interceptor-ref>
<global-results>
<result name="login">/res/login.jsp</result>
</global-results>
</package>
<!-- 管理员登录 tf_admin -->
<package name="login" extends="baseAction" namespace="/">
<action name="login_*" class="adminLoginAction" method="{1}">
<result name="loginSuccess">/index.jsp</result>
<result name="loginFail">/res/login.jsp</result>
<result name="exitSuccess">/res/login.jsp</result>
</action>
</package>
<!-- 文章管理 tf_article -->
<package name="artManage" extends="baseAction" namespace="/">
<action name="artManage_*" class="articleManageAction" method="{1}">
<result name="artListSuccess">/res/article/articleList.jsp</result>
<result name="artSearchSuccess">/res/article/articleSearch.jsp</result>
<result name="artViewSuccess">/res/article/articleView.jsp</result>
<result name="showArtAddSuccess">/res/article/articleAdd.jsp</result>
<result name="artAddSuccess">/res/article/artAddSuccess.jsp</result>
<result name="artUpdateView">/res/article/articleUpdateView.jsp</result>
<result name="artUpdateSuccess">/res/article/artAddSuccess.jsp</result>
<result name="artDeleteSuccess">/res/article/artDelSuccess.jsp</result>
</action>
</package>
</struts>