2012-08-10 73 views
0

我想如下设置会话值:值在JSP/Servlet会话是空

if (request.getParameter("page") != null) { 
         page = Integer.parseInt(request.getParameter("page").toString()); 
        } 
        if (request.getParameter("se_tempcardnumber") != null) { 
         tempcardnumber = request.getParameter("se_tempcardnumber").toString(); 
         session.setAttribute("session_tempcardnumber", tempcardnumber); 
        } 
        if (request.getParameter("se_empid") != null) { 
         empid = request.getParameter("se_empid").toString(); 
         session.setAttribute("session_empid", empid); 
        } 
        if (request.getParameter("se_issuedate") != null) { 
         issuedate = request.getParameter("se_issuedate").toString(); 
         session.setAttribute("session_issuedate",issuedate); 
        } 
        if (request.getParameter("se_cardstatus") != null) { 
         cardstatus = request.getParameter("se_cardstatus").toString(); 
         session.setAttribute("session_cardstatus", cardstatus); 
        } 

和我尝试如下访问会话值:

if(session.getAttribute("session_empid")!=null) { 
        session_empid =(String)session.getAttribute("session_empid"); 
        } 
       if(session.getAttribute("session_tempcardnumber")!=null) { 
        session_tempcardnumber =(String)session.getAttribute("session_tempcardnumber"); 
        } 
       if(session.getAttribute("session_issuedate")!=null) { 
        session_issuedate =(String)session.getAttribute("session_issuedate"); 
       } 
       if(session.getAttribute("session_cardstatus")!=null) { 
        session_cardstatus =(String)session.getAttribute("session_cardstatus"); 
        System.out.println("session_cardstatus : "+session_cardstatus); 
       } 

用于测试目的我为System.out.println("session_cardstatus : "+session_cardstatus);单独设置了值,并且打印了相同的内容。

它首次被打印出来,但是当它第二次出现时,虽然我不会在会话中删除任何设置变量,

请告诉我如何去;

感谢和问候

回答

2

检查其在会话

request.getRequestedSessionId()或session.getId()

设定值之前产生的会话ID