问题描述
我在action中这样写ActionContextactionContext=ActionContext.getContext();Mapsession=actionContext.getSession();session.put("user",user);
user是一个对象,已经赋值用来测试,在另一个action中取用userActionContextactionContext=ActionContext.getContext();Mapsession=actionContext.getSession();session.get("user",user);
user为null,但我在jsp页面中可以直接用sesson.getAttribute("user")中可以取到user对象,这是什么原因,请高手解答,如果我想在action中取用session里面设的该怎么办呢?
解决方案
解决方案二:
高手快来
解决方案三:
求高手
解决方案四:
就是那样搞的哈packagecom.anxin.struts.action;importcom.anxin.bean.User;importcom.anxin.service.UserService;importcom.opensymphony.xwork2.ActionContext;publicclassUserActionextendsBaseAction{privateUserServiceservice;privateUseruser;publicStringlogin(){user=service.checkLogin(user);if(user!=null){ActionContext.getContext().getSession().put("user",user);return"success";}else{this.addActionMessage("用户名或密码错误!");return"input";}}publicUserServicegetService(){returnservice;}publicvoidsetService(UserServiceservice){this.service=service;}publicUsergetUser(){returnuser;}publicvoidsetUser(Useruser){this.user=user;}}
解决方案五:
设置Session的Action迁移到取得Session的Action,struts.xml中怎么配置的?是不是用type="redirect"了?
解决方案六:
session.get("user");
解决方案七:
Useruser=(User)ActionContext.getContext().session.get("user");你在jsp中取到了,在action中是绝对能取到的
解决方案八:
5楼正解
解决方案九:
该回复于2011-03-07 13:17:59被版主删除
解决方案十:
session.get("user",user);session.get("user")
解决方案十一:
ActionContextactionContext=ActionContext.getContext();Mapsession=actionContext.getSession();session.get("user",user);
解决方案十二:
session.get("user",user);既然是get了为啥有两个参数?把后然的去掉试试。还有就是如果是get的话本身就应该会报错呀,难道你那儿没有报错?
解决方案十三:
引用4楼redlotus_lyn的回复:
设置Session的Action迁移到取得Session的Action,struts.xml中怎么配置的?是不是用type="redirect"了?
不是用没有redirect的问题,因为是放在session里的。如果是放在request的话type="redirect"就取不到数据了!
解决方案十四:
你已经取到了,只是没有转换,所以显示为NULL。这样就可以了:(String)session.get("user",user);我刚试过了System.out.print((String)session.get("user",user));后台能打印出相应的值
解决方案十五:
我的方法和你的稍有不同,你也可以试试(String)session.get("user");
解决方案:
Useruser=(User)ActionContext.getContext().getSession().get("user");