JSF - 即使在退出应用程序后,我的backbean的字段也不会被清除

时间:2011-05-24 19:25:36

标签: jsf-2

我是JSF的初学者,我遇到了以下问题:我有一个带有backbean的视图,我填充了一些值来执行搜索并显示结果。当我外出并返回应用程序时,最新请求的值仍然存在。我在我的bean中使用以下注释:

@Component("requestBeneficioCustosController")
@ManagedBean(name = "requestBeneficioCustosController")
@RequestScoped
public class RequestBeneficioCustosController implements Serializable {
...

我认为使用@RequestScoped注释,在离开页面后将清除bean的值。这样不行吗?你能救我吗?

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可能面对浏览器缓存中的某个页面。您需要指示浏览器不缓存JSF页面。这是Filter最好的,它映射到感兴趣的URL模式(例如*.jsf),并在doFilter()方法中完成以下工作。

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);