从JSF1.2升级到JSF2.0时缓存问题

时间:2011-07-20 15:19:19

标签: jsf-2 richfaces

我的项目中有以下代码(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

1 个答案:

答案 0 :(得分:0)

通过在所有h:inputText框中添加autocomplete =“off”来解决问题。