2013-02-04 59 views
0

我有一个HttpSession中定义的自定义属性访问自定义的HttpSession属性,我从图书馆类中设置属性如下:无法从JSP页面

public class changeBeanAttribute { 
public changeBeanAttribute() 
{ 
} 
public void changeAttribute (HttpServletRequest request) { 
     request.getSession().setAttribute("CustomAttribute","Sample Attribute Value"); 
} 
} 

然而,当我尝试访问在JSP页面中如下修改的属性,我得到一个空值返回

<% String str = request.getSession().getAttribute("CustomAttribute"); %> 

有人可以帮助我了解为什么我无法从JSP页面访问HttpSession的属性?
JSP页面和Java类都在Tomcat容器中运行。

+1

很难说。会话超时,或者未调用changeAttribute()方法,或者第二个请求由另一个会话创建,或者另一个请求已将该属性重置为null或将其从会话中删除。 –

+0

请注意:[在JSP中使用scriplets非常不鼓励](http://stackoverflow.com/a/3180202/814702) – informatik01

回答

0

您是否尝试过在你的JSP页面的顶部设置

<%@ page session="true"%> 

?我认为这是默认设置,但也许你已经设置为false。它允许您的会话在您的jsp页面上可用。