Проблема с кэшированием при обновлении с JSF1.2 до JSF2.0 - PullRequest
0 голосов
/ 20 июля 2011

У меня есть следующий код в моем проекте (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) приведенный выше код не очищает кэш. Я попытался заменить addHeader на setHeader безуспешно.

Также я попытался реализовать приведенный выше код в фильтре, как указано здесь , но это не помогло.

Заранее спасибо,

Praneeth

1 Ответ

0 голосов
/ 19 августа 2011

Проблема устранена путем добавления autocomplete = "off" во все поля h: inputText.

...