0

我正在尝试按如下方式设置会话值:

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);单独设置了值,然后打印了相同的内容。

它是第一次打印,但是第二次打印时该值是空的,尽管我没有在会话中删除那些设置变量的任何地方。

请告诉我该怎么做;

谢谢并恭祝安康

4

1 回答 1

2

检查在将值设置为会话之前生成的会话 ID

request.getRequestedSessionId() 或 session.getId()

于 2012-08-10T09:33:48.323 回答