JSF如何缓存CSS?

8

我有两个如下所示的CSS文件。style.css获得304未修改,但default.css总是获得200 OK。为什么default.css没有被缓存?

<h:outputStylesheet library="css" name="default.css"/>
<h:outputStylesheet library="css" name="style.css"/>

你使用的是哪个JSF实现? - Denys S.
你有在 style.css 文件上进行修改吗? - killebytes
问题是由其他地方引起的,迄今提供的信息中不可见。首先,请探索HTTP响应标头和过滤器链。至少很可能不是JSF相关的问题。 - BalusC
2个回答

0

有可能默认的 default.css 样式是由服务器提供的,并且带有某种阻止缓存的文档头。这可能超出了您的控制范围,但如果不是的话,您可以询问服务器是否有一些特定的规则,通过 htaccess 或其他配置来阻止浏览器缓存(或者只缓存很短的时间)。

如果 default.css 是动态生成的文档,那么头部也可以由在服务器上创建实际 css 文档的语言动态创建。

有一些工具,比如 Fiddler 和浏览器插件 Live HTTP Header,可以让您检查浏览器请求的文件的头部信息。

浏览器本身也可以关闭缓存,但如果两个扩展名相同的唯一文件表现不同,那可能不是浏览器设置引起的。


0

我尝试将多个外部CSS文件包含到XHTML中。我总是采用基本方法将CSS插入到XHTML中。我在项目的索引页面上插入以下行。它总是正常工作。

<link rel="stylesheet" type="text/css" href="file1.css" />
<link rel="stylesheet" type="text/css" href="file2.css" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接