Вопрос

Я так понимаю, есть директива заголовка ответа HTTP для отключения кэширования страницы:

Cache-Control:no-cache

Я могу изменить заголовок с помощью " hand ":

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

Но есть ли & "хороший"! " способ заставить интерпретатор JSP вернуть эту строку заголовка в ответе сервера?

(Я проверил директиву <% @ page ...% > похоже, ничего подобного нет.)

Это было полезно?

Решение

Также добавьте

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

своим заголовкам и сделайте это.

Другие советы

Если бы вы использовали сервлет, то я считаю, что то, что вы разместили в этом вопросе, было бы правильным подходом. Я не знаю ни одного способа сделать это в 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>

Вы должны поместить заголовок ответа внутри <jsp:root />. Кроме того, я бы рекомендовал вместо этого посылать это с вашего сервлета, а не со страницы JSP.

IIRC некоторые браузеры могут игнорировать настройки управления кэшем в некоторых контекстах. «Безопасный» обходной путь для этого состоял в том, чтобы всегда получать страницу (даже кусок AJAX) с новой переменной строки запроса (как время.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top