2016-06-08 49 views
4

我在Wildfly 9上使用VRaptor 4,并且我意识到我在本地主机上的导航,在对其他页面进行刷新或激励时,HTML内容通常会重新加载。但在另一台主机(例如:production)中,我需要清除浏览器缓存才能刷新页面。示例:如果我发送消息来显示警报并在其他页面之间导航,并且我转到上一页,警报仍然显示。我需要清除缓存以禁用警报。如何在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。它很强大。我上面的例子会为每个jsp/jsf页面发送一个无缓存的Cache-Control头,这对于用户体验和服务器负载来说可能是相当邪恶的。选择什么不要缓存。

+0

它就像一个魅力。 –