2012-10-15 41 views
0

我有基於JSF 1.2的Servlet。我在我的Servlet的bean中設置了Session屬性。 Bean在請求範圍內。在這Servlet有一個鏈接。點擊此鏈接時,它會調用另一個Servlet。這第二個Servlet不是基於JSF的。它只包含一個JSP頁面來顯示數據。我試圖通過檢索第一個Servlet中設置的Session屬性來顯示此JSP中的數據。但是,在JSP頁面中獲取的數據是null。會話ID在兩個Servlet中都是相同的。我在JSP頁面中有以下相關的代碼。無法檢索JSP中的會話屬性

<%@page language="java" session="true" %> 
<%@page session="true" %> 
session = request.getSession(); 
String userName = (String)session.getAttribute("uname"); 

下面是我的方式設置會話Bean中

HttpSession session = null; 
    HttpServletRequest req = null; 
    req = (HttpServletRequest) PolicyContext.getContext("javax.servlet.http.HttpServletRequest"); 
    session = req.getSession(); 
session.setAttribute("uname", this.uname); 

回答

1

嘗試使用EL檢索您的會話屬性屬性。爲例如:

${sessionScope['uname']} 
+0

我想:和。'>:超時值=「$ {sessionScope。 uname}「/>和。他們都沒有工作! –

+0

還有一件事。當某個動作被調用時,會話屬性在bean中設置。在此之後,用戶有許多頁面可以導航。最後,他會在第二個Servlet中結束,在第一個Servlet的bean中設置的Session屬性被嘗試在JSP頁面中顯示 –