如何强制浏览器重新加载h:outputScript资源?

时间:2013-05-29 07:02:06

标签: jsf resources versioning

JS文件extra.js包含如下:

<h:outputScript library="js" name="extra.js"  />

我面临浏览器缓存问题。很多时候,我不会得到更新的副本。

在纯HTML中,我们习惯用JS URL附加版本号或随机数,如:

<script type="text/javascript" src="http://yyy.zzzz.net/js/tryjs?v=1234"></script>
where v is the version number.

有没有办法在h:outputScript

中为生成的资源网址添加一些版本号

1 个答案:

答案 0 :(得分:4)

您可以执行以下某项操作

管理其中一个bean #{myBean.myVersion}中的版本号,并将其附加到h:outputScript

中的js文件中

像这样:

<h:outputScript library="js" name="extra.js?#{myBean.myVersion}/>

或重命名您的js文件,将#{myBean.myVersion}作为其名称的一部分包含在内

<h:outputScript library="js" name="extra.#{myBean.myVersion}.js/>

你也可以看一下:Resources (Library) In JSF 2.0