2010-09-30 80 views
1

我有一個支持bean(比如說MyPageBean),但它看起來是在會話中,因爲,瀏覽我的應用程序,當我訪問頁面myPage時,我總是得到同樣的例子。 我正在使用JSF 1.2,IceFaces 1.8.2和JBoss 5.1.0Request scope backing bean ... not in request

回答

0

是不是隻是您的網頁瀏覽器或代理是積極緩存網頁?

創建Filter其執行以下操作中doFilter()方法向客戶端指示到緩存HTTP響應:

HttpServletResponse hsr = (HttpServletResponse) response; 
hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. 
hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0. 
hsr.setDateHeader("Expires", 0); // Proxies. 
chain.doFilter(request, response); 

,對應於web.xml喜歡如下:

<filter> 
    <filter-name>cacheFilter</filter-name> 
    <filter-class>com.example.CacheFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>cacheFilter</filter-name> 
    <servlet-name>facesServlet</servlet-name> 
</filter-mapping> 

假設您已將FacesServlet實例映射到facesServlet<servlet-name>上。

+0

BalusC,謝謝你的回答。 – Massimo 2010-09-30 13:44:32

+0

但是你的解決方案不起作用。 – Massimo 2010-09-30 13:44:56

+0

你是如何確認頁面正在使用的bean真的在請求範圍內的?您是如何確認每次都在檢索完全相同的實例的?你有沒有做一些可憐的人的systemoutprintln的?哪個和哪裏?或者你是否在bean的構造函數上運行了帶有斷點的調試器?你確定了'#{requestScope}'和'#{sessionScope}'嗎?等等。 – BalusC 2010-09-30 13:50:50

0

在ICEFaces請求範圍內部分提交。因此,如果你的應用程序永遠不刷新整個頁面,只使用部分提交,你可能會遇到這種情況。
未在導航中使用部分提交應解決您的問題。