我在session里保存了一个name,然后通过JSP页面请求都可以得到这个name,可是经过一个action之后name的值就变成了NULL,这怎么回事?如何能经过一个action照样能得到这个name值?

解决方案 »

  1.   

    经过一个action什么意思? 正常应该是如果不关闭浏览器或者不调用session的注销函数, 是一直有效的啊?
      

  2.   

    我用的是struts,就是请求完一个action之后,再得到name值就为null了
      

  3.   

    一直是这样子,还是偶尔是这个样子?
    首先你先看看你是不是放在request里面了,如过不是,你就在登陆成功的那个action 打引下sessionId ,然后在出现问题的地方也打印sessionId,进行对比看看
      

  4.   

    jsp传了个一个name值到action,然后action保存name值
    HttpSession session=request.getSession();
    session.setAttribute("name",name);
    然后第一次在一个jsp能得到这个name值,没问题.
    <%=session.getAttribute("session")%>
    之后这个jsp再重新请求了一个action,然后重新回到这个jsp,得到的name值就为null了。
    不知道说清楚了没,感觉有点像在说故事。
      

  5.   

    你看一下你的那个Action代码里面是不是对这个name属性执行了什么操作。
      

  6.   

    没有操作什么,我试了下,一个很简单的ACTION操作之后都不行,STRUTS是不是运行的时候会重新建立一个SESSION,将原来替换掉?
      

  7.   

    问题解决,出在自己身上,session不小心被更新了,结贴了