我尝试按如下方式设置 session 值:
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);
}
我尝试按如下方式访问 session 值:
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);
的值,并打印了相同的内容。
它是第一次打印,但当第二次打印时,该值是空的,尽管我没有删除 session 中任何设置的变量。
请告诉我该怎么做;
感谢和问候
最佳答案
检查在将值设置到 session 之前生成的 session ID
request.getRequestedSessionId() 或 session.getId()
关于java - jsp/servlet 中的 session 中的值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11898189/