2016-06-08 3 views
4

Я использую VRaptor 4 с Wildfly 9, и я понял, что моя навигация по локальному хосту, при обновлении или нарисовке на чужие страницы, содержимое HTML перезагружается нормально. Но в другом хосте (например: производство) мне нужно очистить кеш браузера, чтобы обновить страницу. Пример. Если я отправлю сообщение, чтобы отобразить предупреждение в режиме просмотра и перемещаться между другими страницами, и я перехожу на предыдущую страницу, предупреждение остается отображаемым. Мне нужно очистить кеш, чтобы отключить предупреждение.Как отключить кеш на Wildfly

Как я могу это исправить?

ответ

7

Вы можете установить фильтр заголовка ответа в подсистеме подсистемы.

<subsystem xmlns="urn:jboss:domain:undertow:1.2"> 
    ... 
    <server name="default-server"> 
     <host name="default-host" alias="localhost"> 
     ... 
     <filter-ref name="cache-control" predicate="path-suffix['.jsp'] or path-suffix['.jsf']"/> 
     </host> 
    </server> 

    <filters> 
     <response-header name="cache-control" header-name="Cache-Control" header-value="no-cache"/> 
    </filters> 
</subsystem> 

Что касается синтаксиса предикатного фильтра, см. http://undertow.io/undertow-docs/undertow-docs-1.2.0/predicates-attributes-handlers.html. Это мощно. Мой вышеприведенный пример отправил заголовок Cache-Control без кэша для каждой страницы jsp/jsf, что может быть довольно злым в отношении пользовательского опыта и загрузки сервера. Выбирайте, что не кэшировать.

+0

Это работает как шарм. –