1

我想创建一种以自动方式(通过 ant 等)更新对 jsf 中 css 文件的引用的方法。这种做法的常见做法是什么?是否有任何可用的自动化工具?

基本上我希望能够部署我的war文件并确保客户端下载修改后的css文件的任何更改,而无需清除缓存。谢谢您的帮助!

4

1 回答 1

3

您可以使用 JSF 内置资源库版本控制。/resources如果尚未完成,您只需要在 webapp 的文件夹中引入资源库。然后,您可以使用该模式创建一个版本子文件夹\d(_\d)*。例如,

/resources/default/1_0/css/layout.css

您参考如下:

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

库版本作为v参数附加在生成<link>元素的查询字符串中。

<link type="text/css" rel="stylesheet" href="/contextname/javax.faces.resource/css/layout.js.xhtml?ln=default&amp;v=1_0" />

当您需要部署更新时,将1_0子文件夹重命名为1_1或其他名称(可以由 ant 完成),它将被更新,并且浏览器将被迫下载它而不是使用缓存的。

这同样适用于JS<h:outputScript><h:graphicImage>图像资源。

于 2012-05-14T21:53:58.587 回答