在JSF页面模板中,我使用此代码来包含一个CSS资源:
<h:outputStylesheet library="css" name="mystyles.css" />
实现CSS缓存破坏的常用方法是添加一个版本参数,如v=123
,但outputStyleSheet:不支持这样做
<h:outputStylesheet library="css" name="mystyles.css?v=123" />
将导致JSF1064警告,并且找不到CSS。
如果不重写StylesheetRenderer
(假设您在Mojarra上),这是不可能的。它确实没有考虑查询字符串。然而,作为一种(临时)解决方法,最好知道在<h:outputStyleSheet>
中使用CSS自己的@import
规则包含CSS是有效的。
<h:outputStylesheet target="head">
@import url('css/mystyles.css?v=123')
</h:outputStylesheet>
你可能想向Mojarra男孩发布一个增强请求,以便在未来的版本中考虑到这一点。