Boa tarde, bom 2012 pra todos. Estou com o seguinte problema; quando o usuário clica no botão voltar do navegador ele traz uma página da cache, ao invés de pedir a página novamente para o servidor; e eu preciso que a aplicação faça exatamente isso; quando o usuário clicar no botão voltar no navegagor, realizar um request chamando a página novamente do servidor. Ou então desabilitar o botão voltar, mas acredito que isso seja mais difícil, e no meu caso, dispensável.
Procurando pela internet encontrei alguns exemplos usando phaseListener, tentei essa classe no meu projeto, mas não funcionou.
public class ControlaCache implements PhaseListener {
@Override
public void beforePhase(PhaseEvent event) {
FacesContext contexto = event.getFacesContext();
HttpServletResponse response = (HttpServletResponse)contexto.getExternalContext().getResponse();
response.setHeader("Expires", "-1");
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidade, proxy-revalidade, private, post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
}
@Override
public void afterPhase(PhaseEvent event) {
}
@Override
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
}
This message was edited 1 time. Last update was at 04/01/2012 21:38:51
|