在JSF页面模板中,我使用此代码包含CSS资源:
<h:outputStylesheet library="css" name="mystyles.css" />
实现CSS缓存清除的常用方法是添加版本参数,例如v=123
,但在outputStyleSheet中不支持:
<h:outputStylesheet library="css" name="mystyles.css?v=123" />
将导致JSF1064警告,并且找不到CSS。
答案 0 :(得分:10)
如果没有覆盖StylesheetRenderer
(假设你在Mojarra上),这是不可能的。它确实没有考虑查询字符串。但是,作为(临时)解决方法,最好知道在@import
内使用CSS自己的<h:outputStyleSheet>
规则包含CSS是有效的。
<h:outputStylesheet target="head">
@import url('css/mystyles.css?v=123')
</h:outputStylesheet>
您可能希望向Mojarra男孩发布enhancement request,以便在以后的版本中考虑这一点。