<h:messages class="loginFailed" globalOnly="true" layout="table" />
我在登录页面的底部有这个。当用户登录失败时,会显示错误消息。我的问题是当他们导航到注册页面时,错误信息仍然存在。
如何摆脱此消息。
答案 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);