JSF清除消息

时间:2011-05-24 20:01:40

标签: jsf

 <h:messages class="loginFailed" globalOnly="true" layout="table" /> 

我在登录页面的底部有这个。当用户登录失败时,会显示错误消息。我的问题是当他们导航到注册页面时,错误信息仍然存在。

如何摆脱此消息。

1 个答案:

答案 0 :(得分:2)

这绝对是一个浏览器缓存问题。使用后退按钮导航时,将从浏览器缓存中请求页面。我调查了您使用Firebug提供的站点链接上的响应标头,它们确实不包含指示浏览器不缓存页面的标头。

创建一个映射到*.xhtml网址格式的Filter,并在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);