我在LoginAction.java中用session保存用户登陆名,如下:
HttpServletRequest request = ServletActionContext.getRequest();
request.getSession().setAttribute("loginName", "123456789");
System.out.println(this.getSession().getAttribute("loginName"));//可以输出值
但是如果我在service(AppService.java)中取不到loginName的值,取值方法如下:
 HttpServletRequest request = ServletActionContext.getRequest();
String usernameString=(String)request.getSession().getAttribute("loginName");
System.out.println(usernameString);//输出空值,及null为什么呢?

解决方案 »

  1.   

    我实际用的是request.getSession()
      

  2.   

    HttpServletRequest Session= ServletActionContext.getRequest().getSession;
    下面直接用session.serAttribute 因为request中间跳过一个页面就是失去值 所以直接用session
      

  3.   

    “HttpServletRequest Session= ServletActionContext.getRequest().getSession;”有语法错误吧,改成“HttpServletRequest Session= ServletActionContext.getRequest().getSession();”也是不行的。
    还不如直接
    HttpSession session = request.getSession();
    session.setAttribute("webUserName", "123456789");
    但是这样还是无法在service层取值的