Pergunta

Sei que existe uma directiva HTTP cabeçalho de resposta para desativar o cache página:

Cache-Control:no-cache

Eu posso modificar o cabeçalho de "mão":

 <%response.addHeader("Cache-Control","no-cache");%>

Mas há uma maneira "legal" para fazer a JSP intérprete retornar esta linha de cabeçalho na resposta do servidor?

(eu verifiquei o <% @ page ...%> directiva. Parece que não há nada como isso.)

Foi útil?

Solução

Além disso, adicione

response.addHeader("Expires","-1");
response.addHeader("Pragma","no-cache");

para os cabeçalhos e dar que um tiro.

Outras dicas

Se você estivesse usando um servlet, então eu acredito que você postou a pergunta seria a abordagem correta. Eu não estou ciente de qualquer maneira de fazer isso no JSP.

<?xml version="1.0"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> 
 <jsp:scriptlet><![CDATA[
   response.setHeader("Cache-Control", "no-cache");
 ]]></jsp:scriptlet>
</jsp:root>

Você deve colocar o cabeçalho de resposta dentro <jsp:root />. Além disso, gostaria em vez recomendo o envio isto de seu servlet em vez de página JSP.

IIRC alguns browsers podem ignorar as configurações de controle de cache em alguns contextos. A solução alternativa 'segura' para isso foi para sempre obter uma página (até mesmo um pedaço AJAX) com uma nova variável de string de consulta (como o tempo.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top