一个关于struts2 拦截器 的问题

omylover 2010-10-07 11:53:32
有一个关于struts2 拦截器 的问题 想请教下
我有一个链接,链接到一个action并执行里面的一个方法 但在执行这个方法之前需要进行登录验证 拦截器也写了 登录验证也成功了 现在的问题是 如果没有登录就点击这个链接 就会跳到登录页面 但是如果你再登录的话 再去点击这个链接 还是跳到登录页面 但是这一并没有进自定义的拦截器 这次登陆验证的拦截器 并没有拦截 此次请求
不只是这个请求出现 这样的问题 其他的链接 也出现这样的问题 如果你在登陆之前没有点击这个链接 登陆后再去点 就很正常的


拦截器的代码

public String intercept(ActionInvocation invocation) throws Exception {
String result = "";
String powerCode = invocation.getProxy().getActionName();
System.out.println("action名称+方法名:"+powerCode);
Map<String,Object> session = invocation.getInvocationContext().getSession();
if(session.get("MANAGER")==null){
result = "login";
}else{
result = invocation.invoke();
}
return result;
}



拦截器的配置

<package name="basePackage" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="authorityInterceptor" class="com.txzw.exam.common.interceptor.AuthorityInterceptor" />
<interceptor-stack name="loginStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="authorityInterceptor"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="loginStack"></default-interceptor-ref>

<global-results>
<result name="login">/login.html</result>
<result name="exception">/error/exception2.html</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="exception" exception="java.long.Exception"/>
</global-exception-mappings>
</package>



请问有谁遇到过类似的问题
希望高人指点下
...全文
77 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fzlphzcz 2011-10-09
我也遇上了同样地问题,可惜没人解答
回复
omylover 2010-10-07
问题补充 如果不加struts2的默认拦截器
<interceptor-ref name="defaultStack"/>
的话 就不会出现那样的问题
回复
okjbc 2010-10-07
学习了
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-07 11:53
社区公告
暂无公告