请教Struts2 Action类中Session值传递问题 每个用户请求服务器都会返回一个sessionid来保证session的唯一性的。你确实你保存的userid不为空吗? 如果你保存的userid不为空,按理不会出现空的。先检查一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 HttpSession session=ServletActionContext.getRequest().getSession();session.put("userid",userid) //存放在这个Session中的值,另一个Action怎么取?//另一个类中使用 session.get("userid"); //获得是空。 获得方式就不对把 这样试试public class LoginAction3 extends ActionSupport { //第三种取得方式 private HttpServletRequest request; private HttpSession session; private ServletContext application; public LoginAction3() { request = ServletActionContext. getRequest(); session = request.getSession(); application = session.getServletContext(); } @Override public String execute() throws Exception { request.setAttribute( "r1", "r1"); session.setAttribute( "s1", "s1"); application.setAttribute( "a1", "a1"); return SUCCESS; } } HttpSession 不会空值 可能是你写错了 在另一个类中,首先要先获取session,才能get出来值 HttpSession session = ServletActionContext.getRequest().getSession();session.setAttribute("onlineUser", user); 你在这个action里的session是自己定义的一个Map改成HttpSession 就可以了 userid 不会空,值已经存进Session里了,我在当前类 Integer id = session.setAttribute("userid");可以获得id, 但是我在另一个Action类里却获得为空userid 不会空,值已经存进Session里了,我在当前类 Integer id = session.setAttribute("userid");可以获得id, 但是我在另一个Action类里却获得为空 发现一个问题就指点! 我发现Session不传值是因为浏览器问题,我用搜狗和火狐可以传,但是IE,还有MyElipse自带的也不行。 一个session而已 怎么会是因为浏览器呢 你同一个回话 怎么会取得不到值 不会的 先让session赋值session =ActionContext.getContext().getSession(); session.get("userid");就可以了 应该是与struts下session的获取需要cookie有关ie自动调整cookie不保存的缘故我说的没错吧 楼主 Nginx 504 Gateway Time-out 求解 如何获取异步加载的html页面的所有html源代码? 求答案!!! 高手帮忙看下 请帮忙(在线等)--输入字符过滤在struts的form中如何实现? 急==在线等===(jsp,servlet)在含有 frame的页面中,如何实现logout,返回到最初的页面 刷新父窗口 SSH配置问题? 紧急求助!怎样捕获键盘上控制键的输入 date型数据的问题? 有没有人用java wrapper把virgo弄成系统服务啊? 求助--刷新界面保留当前状态
//存放在这个Session中的值,另一个Action怎么取?
//另一个类中使用
session.get("userid");
//获得是空。
//第三种取得方式
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public LoginAction3() {
request = ServletActionContext. getRequest();
session = request.getSession();
application = session.getServletContext();
}
@Override
public String execute() throws Exception {
request.setAttribute( "r1", "r1");
session.setAttribute( "s1", "s1");
application.setAttribute( "a1", "a1");
return SUCCESS;
}
}
session.setAttribute("onlineUser", user);
改成HttpSession 就可以了
你同一个回话 怎么会取得不到值 不会的
session =ActionContext.getContext().getSession();
session.get("userid");就可以了