2010-09-30 149 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请求范围内部分提交。因此,如果你的应用程序永远不刷新整个页面,只使用部分提交,你可能会遇到这种情况。
未在导航中使用部分提交应解决您的问题。

相关问题