我正在将OmniFace 2.7与Primefaces 6.0一起使用。我为所有图像类型(*.jpg
| *.jpeg
| *.png
| *.gif
| *.ico
使用CacheControlFilter设置了365d的到期时间。
此浏览器缓存设置似乎不适用于获得如下URL的CSS背景图像:
.../playground/javax.faces.resource/images/smiley.jpg.xhtml
同样适用于URL类似的组合资源文件(CSS和JS):
.../javax.faces.resource/LONG-HASH.js.jsf?ln=omnifaces.combined&v=1544138175000
任何解决此问题的提示将非常有帮助。谢谢
答案 0 :(得分:0)
答案在CacheControlFilter
的{{3}}和showcase中。
重要通知:此过滤器会自动跳过JSF资源,例如
<h:outputScript>
,<h:outputStylesheet>
,@ResourceDependency
等所服务的资源。它们与缓存相关标头即受ResourceHandler
实现的documentation控制。在Mojarra和MyFaces中,默认的到期时间为1周(604800000毫秒),可以通过具有以下名称的web.xml
上下文参数和以毫秒为单位的值来配置,例如3628800000
6周:
- Mojarra:
com.sun.faces.defaultResourceMaxAge
- MyFaces:
org.apache.myfaces.RESOURCE_MAX_TIME_EXPIRES
使用此过滤器控制与缓存相关的标头是没有意义的,因为它们仍然会被覆盖。
我没有什么要补充的。