我的项目中有以下代码(JSF1.2,RF 3.3.3 SR1,GF 3.0.1)
// Following code in PhaseListener
@Override
public void beforePhase(PhaseEvent event) {
if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
HttpServletResponse res = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
res.addHeader("pragma", "no-cache, no-store, must-revalidate, max-age=0, s-max-age=0, proxy-revalidate");
res.addDateHeader("Expires", 0);
res.addHeader("cache-control", "no-cache, no-store, must-revalidate, max-age=0, s-max-age=0, proxy-revalidate");
}
}
我在IE,FF,Safari中测试了上面的代码,它运行良好。
将上述项目升级到JSF 2.0(JSF2.0,RF 4.0.0 Final,GF 3.0.1)后,上面的代码没有清除缓存。我试图用setHeader替换addHeader而没有运气。
另外,我尝试在提及here的过滤器中实现上述代码,但它没有帮助。
提前致谢,
Praneeth
答案 0 :(得分:0)
通过在所有h:inputText框中添加autocomplete =“off”来解决问题。