日期:2014-05-20  浏览次数:20738 次

strusts2拦截器的问题
我在使用的一个用于判断用户是否登录的拦截器后,登陆进入后,后台java代码中取不到session值了,是什么原因?
java.lang.NullPointerException
com.cdjq.rwfp.action.MissionAction.manageMission(MissionAction.java:237);
这行只是用来取session中User值的,
  user = (User)getSession().get("user");

前台却可以通过struts标签获得session中的user;如果去掉拦截器,后台也可以得到user;拦截器配置也是没有问题的

这是拦截器类中的intercept代码:
public String intercept(ActionInvocation arg0) throws Exception {

Map session = arg0.getInvocationContext().getSession();
User user =(User) session.get("user");
if(user==null){
System.out.println("用户未登录");
return Action.LOGIN;
}
else {
arg0.getInvocationContext().setSession(session);
return arg0.invoke();
}
}
期望高手解释;

------解决方案--------------------
else直接return就行了。
------解决方案--------------------
那如果你方法里直接return arg0.invoke();呢?

应该是其它地方的问题。