java – 如何使用JSF outputStylesheet实现CSS Cache Busting?

在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).确实没有考虑到查询字符串.然而,作为(临时)解决方法,很高兴知道使用CSS’自己的@import规则在< h:outputStyleSheet>中包含CSS是有效的.
<h:outputStylesheet target="head">
    @import url('css/mystyles.css?v=123')
</h:outputStylesheet>

您可能想要向Mojarra男孩发布一个enhancement request,以便在将来的版本中考虑到这一点.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...