2013-02-04 74 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頁面上可用。