веб-страница не показывает новое содержимое файла - PullRequest
1 голос
/ 08 марта 2011

Я пытаюсь загрузить HTML-страницу из файла JSP.как это.Я даю имя файла jsp от контроллера и, используя dojo, вызываю другой контроллер и передаю имя файла.

<script type="text/javascript">
var url = dojo.moduleUrl("dijit.form", "<c:url value="/getfile?Name=${fileName}"/>");
    dojo.xhrGet({
    url: url,
    load: function(html){
        dojo.byId("mycontent").innerHTML = html;
    }
});

Потоковое содержимое файла передается в jsp.Моя проблема, когда я изменяю содержимое файла, он не отражает.Для Firefox я должен использовать Ctrl + F5, а для IE я должен очистить кеш вручную.Как я могу избежать этого?Я дал

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta HTTP-EQUIV="Expires" CONTENT="0"/>
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache"/>

в моих файлах jsp и html.

1 Ответ

3 голосов
/ 08 марта 2011

Два способа:

  1. Поместите его в заголовки ответа HTTP, а не в заголовок HTML. Метатеги интерпретируются только при открытии файла из файловой системы локального диска, а не при получении файла по HTTP. A Filter - идеальный инструмент для работы. Кроме того, вы забыли еще две Cache-Control настройки. Вот полный комплект:

    HttpServletResponse hsr = (HttpServletResponse) response;
    hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
    hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0.
    hsr.setDateHeader("Expires", 0); // Proxies.
    chain.doFilter(request, response);
    

    Сопоставьте это Filter с нужным шаблоном URL, соответствующим HTML-файлу.

  2. Добавьте временную метку к строке запроса, чтобы кэш браузера был обманут.

    var url = dojo.moduleUrl("dijit.form", "<c:url value="/getfile?Name=${fileName}"/>&" + new Date().getTime());
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...