日期:2014-05-19  浏览次数:20721 次

在struts2的Action中获取session信息的获取的问题
我这里有两个ACTION,一个是LoginAction,一个是goMessageUIAction
在LoginAction中,我用方法,把一个用户对象取出来,并用一下语句存到SESSION中

HttpServletRequest request=ServletActionContext.getRequest();
request.getSession().setAttribute("userInfo", user);

其中user是取出的一个对象。
然后我在goMessageUIAction中,要用取出这个user,用了以下语句
HttpServletRequest request2=ServletActionContext.getRequest();
Users loginUser=(Users) request2.getSession().getAttribute("userinfo");

但是,最后失败了,服务器抛出java.lang.NullPointerException
在网上找了些资料也没用。
求高手指点指点!

------解决方案--------------------
Users loginUser=(Users) request2.getSession().getAttribute("userinfo");
改为
Users loginUser=(Users) request2.getSession(false).getAttribute("userinfo");
不让他创建session了,不然创建的里面当然没有userinfo了。
------解决方案--------------------
引用:
Users loginUser=(Users) request2.getSession().getAttribute("userinfo");
改为
Users loginUser=(Users) request2.getSession(false).getAttribute("userinfo");
不让他创建session了,不然创建的里面当然没有userinfo了。

++
------解决方案--------------------
不知道楼主你解决出来了没有, 我看到的错误是:
这个是你保存的user:request.getSession().setAttribute("userInfo", user);
这个是你取出的user:Users loginUser=(Users) request2.getSession().getAttribute("userinfo");
不知道楼主你看出来了没有