Frage

Ich verstehe, gibt es eine HTTP-Antwort-Header-Richtlinie Seiten-Caching zu deaktivieren:

Cache-Control:no-cache

Ich kann den Header von "Hand" ändern:

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

Aber gibt es eine „nette“ Art und Weise der JSP-Interpreter senden Sie diese Kopfzeile in der Serverantwort zu machen?

(Ich habe die <% @ page ...%> Richtlinie. Es scheint, es ist nichts dergleichen.)

War es hilfreich?

Lösung

Fügen Sie auch

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

Ihren Kopf- und geben, dass ein Schuss.

Andere Tipps

Wenn Sie ein Servlet verwendet hat, dann glaube ich, was Sie in der Frage gestellt wäre der richtige Ansatz sein. Ich bin mir nicht bewusst irgendeine Weise dies in der JSP zu tun.

<?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>

Sie müssen die Antwort-Header innerhalb <jsp:root /> setzen. Außerdem würde ich stattdessen empfehlen, diese von Ihrem Servlet statt JSP-Seite zu senden.

IIRC einige Browser können die Cache-Control-Einstellungen in manchen Kontexten ignorieren. Die ‚sichere‘ Abhilfe für dies war stets eine neue Seite zu bekommen (auch ein AJAX-Chunk) mit einem neuen Query-String-Variable (wie die Zeit.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top