请求范围支持bean ...不在请求中

时间:2010-09-30 12:58:16

标签: jsf icefaces

我有一个带有请求范围的支持bean(比如MyPageBean),但它似乎在会话中,因为在浏览我的应用程序时,当我访问页面myPage时,我总是得到相同的实例。 我正在使用JSF 1.2,IceFaces 1.8.2和JBoss 5.1.0

2 个答案:

答案 0 :(得分:0)

是不是只是你的webbrowser或代理人正在积极地缓存网页?

创建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的{​​{1}}上映射<servlet-name>个实例。

答案 1 :(得分:0)

在ICEFaces中,请求范围扩展到部分提交。因此,如果您的应用程序永远不会刷新整个页面,并且仅使用部分提交,则可能会遇到此问题 在导航中不使用部分提交应解决您的问题。