我有一个jsp页面,它有不同的IF条件。在加载jsp页面时,将根据设置为融合动作的值调用其中一个if条件。我有一个问题,第一次加载页面时,调用IF condition1(例如,ex),并将一个变量分配给HTTPCOntext会话对象。第二次加载页面时(意思是表单提交后),调用另一个IF条件2(Say for ex)。我尝试在此if条件中访问会话对象,会话对象中的值为null。
同一个jsp中的其他scriptlet无法访问一个scriptlet中的会话变量吗? 我需要在第二个IF条件下访问会话对象,请让我知道实现此目的的方法。
先谢谢 鲁帕
答案 0 :(得分:3)
几个事实:
jsessionid
。因此,如果您在会话中存储了一个对象,并且在下一个请求中没有该对象,那么它可能有以下原因:
由于你所说的“HTTPCOntext”在JSP / Servlet方面毫无意义并且使用单个JSP页面,我认为这是可能原因中的最后一个。以下是如何以正确方式在会话中存储属性的启动示例:
Object someObject = "This is just a String.";
request.getSession().setAttribute("someName", someObject);
以及如何获取它:
Object someObject = request.getSession().getAttribute("someName");
答案 1 :(得分:0)
session.putValue is deprecated
像session.setAttribute("Test",testStringVariable)
session.setAttribute(String name, Object value)
并按session.getAttribute("Test")
获取。这应该有用。
您是否确认session.getAttribute("Test")
本身正在提供null
,或者您已将某个变量初始化为null并打印出该变量。