Pregunta

Entiendo que hay una directiva de encabezado de respuesta HTTP para deshabilitar el almacenamiento en caché de la página:

Cache-Control:no-cache

Puedo modificar el encabezado con " hand " ;:

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

¿Pero hay un " agradable " ¿Cómo hacer que el intérprete JSP devuelva esta línea de encabezado en la respuesta del servidor?

(Revisé la directiva <% @ ...% > parece que no hay nada de eso)

¿Fue útil?

Solución

Agregar también

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

a tus encabezados y dale una oportunidad.

Otros consejos

Si estaba utilizando un servlet, entonces creo que lo que publicó en la pregunta sería el enfoque correcto. No conozco ninguna forma de hacer esto en el 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>

Debe poner el encabezado de respuesta dentro de <jsp:root />. Además, en su lugar, recomendaría que envíe esto desde su servlet en lugar de la página JSP.

IIRC algunos navegadores pueden ignorar la configuración de control de caché en algunos contextos. La solución 'segura' para esto era obtener siempre una página (incluso un fragmento AJAX) con una nueva variable de cadena de consulta (como la hora).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top