如何使用JSF outputStylesheet实现CSS缓存总线



在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男孩发布一个增强请求,以便在未来的版本中考虑到这一点。

相关内容

  • 没有找到相关文章

最新更新