这是拦截器
public class LoginInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
/**
* invocation.getAction()是得到当前访问的Action
*/
ActionContext ctx=invocation.getInvocationContext();
Map session=ctx.getSession();
String username=(String)session.get("user");
if(username!=null)
{
return invocation.invoke();
}
ctx.put("tip","您还没有登录,请重新登录");
return Action.LOGIN;
}下面是xml配置
<package name="com.erp.xitonggl.user.action" extends="struts-default">
<interceptors>
<interceptor name="loginInterceptor" class="com.erp.xitonggl.user.action.LoginInterceptor"></interceptor>
<interceptor-stack name="mydefault">
<interceptor-ref name="loginInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault"/><!--覆盖掉原来的默认拦截器,注意,这个要放在interceptors的外面-->
<global-results>
<result name="login">/Site/xitonggl/yonghugl/loginFalse.jsp</result>
</global-results>
<!-- 查询用户信息 -->
<action name="queryUserList" class="com.erp.xitonggl.user.action.UserListAction" method="queryUserList">
<result name="userList" type="dispatcher">/Site/xitonggl/yonghugl/usermanage.jsp</result>
<interceptor-ref name="mydefault" />
</action>
<!-- 根据查询条件查询用户信息 -->
<action name="queryUserBy" class="com.erp.xitonggl.user.action.QueryUserByAction" method="queryUserByName">
<result name="userList" type="dispatcher">/Site/xitonggl/yonghugl/usermanage.jsp</result>
</action>
<!-- 删除用户信息 -->
<action name="deleteUser" class="com.erp.xitonggl.user.action.UseUserAction" method="deleteUser">
<result name="deleteUser" type="dispatcher">/Site/xitonggl/yonghugl/deleteOK.jsp</result>
</action>
</package> 写完了 就是不管用啊 谁给解释下啊
public class LoginInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
/**
* invocation.getAction()是得到当前访问的Action
*/
ActionContext ctx=invocation.getInvocationContext();
Map session=ctx.getSession();
String username=(String)session.get("user");
if(username!=null)
{
return invocation.invoke();
}
ctx.put("tip","您还没有登录,请重新登录");
return Action.LOGIN;
}下面是xml配置
<package name="com.erp.xitonggl.user.action" extends="struts-default">
<interceptors>
<interceptor name="loginInterceptor" class="com.erp.xitonggl.user.action.LoginInterceptor"></interceptor>
<interceptor-stack name="mydefault">
<interceptor-ref name="loginInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault"/><!--覆盖掉原来的默认拦截器,注意,这个要放在interceptors的外面-->
<global-results>
<result name="login">/Site/xitonggl/yonghugl/loginFalse.jsp</result>
</global-results>
<!-- 查询用户信息 -->
<action name="queryUserList" class="com.erp.xitonggl.user.action.UserListAction" method="queryUserList">
<result name="userList" type="dispatcher">/Site/xitonggl/yonghugl/usermanage.jsp</result>
<interceptor-ref name="mydefault" />
</action>
<!-- 根据查询条件查询用户信息 -->
<action name="queryUserBy" class="com.erp.xitonggl.user.action.QueryUserByAction" method="queryUserByName">
<result name="userList" type="dispatcher">/Site/xitonggl/yonghugl/usermanage.jsp</result>
</action>
<!-- 删除用户信息 -->
<action name="deleteUser" class="com.erp.xitonggl.user.action.UseUserAction" method="deleteUser">
<result name="deleteUser" type="dispatcher">/Site/xitonggl/yonghugl/deleteOK.jsp</result>
</action>
</package> 写完了 就是不管用啊 谁给解释下啊
然后你看看你的user 有没有放进去,你怎么放的个字符串啊,别人都是对象来着~~
public String intercept(ActionInvocation invocation) throws Exception {
Object username=ActionContext.getContext().getSession().get("user");
if(username!=null)
{ System.out.println("true");
return invocation.invoke();
}
else{
System.out.println("false");
return "login";
}
}
<package name="com.erp.xitonggl.user.action" extends="struts-default">
<interceptors>
<interceptor name="loginInterceptor" class="com.erp.xitonggl.user.action.LoginInterceptor"/>
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="loginInterceptor" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault"/>
<global-results>
<result name="login">/Site/xitonggl/yonghugl/loginFalse.jsp</result>
</global-results>
现在的问题是访问action 根本没有调用拦截器,看了半天有没看出怎么回事啊。。