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

标签 java css jsf cache-control browser-cache

在 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 包含 CSS 是有效的。里面的规则<h:outputStyleSheet> .

<h:outputStylesheet target="head">
    @import url('css/mystyles.css?v=123')
</h:outputStylesheet>

您可能想发布 enhancement request致 Mojarra 男孩们在未来的版本中考虑到这一点。

关于java - 如何使用 JSF outputStylesheet 实现 CSS Cache Busting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6307814/

相关文章:

java - Portlet 与 JSF 有何关系?

jsf - 警告用户 JSF 中未保存的数据

css - 为什么跨度宽度被忽略?

尝试在 Oracle 中计算行数时出现 java.sql.SQLException

java - 应该放在哪里 maven-compiler-plugin 声明 : in <plugins> or <pluginManagement>?

java - 使用 Unity3D 和 Vuforia 的 Android 4.1.2 上相机为黑色

java - Selenium InternetExplorerDriver 无法找到明显存在的元素

java - 在java中将浮点值1000000.1解析为String

javascript - 在页面加载时展开切换的 Div

html - Bootstrap 3 容器上的全屏图像