Javascript 如何在<;中包含带有查询字符串的JS文件;h:outputScript>;?

Javascript 如何在<;中包含带有查询字符串的JS文件;h:outputScript>;?,javascript,jsf,primefaces,Javascript,Jsf,Primefaces,在JSF页面中,我使用以下代码包含一个JS文件: <h:outputScript library="js" name="reworkBase.js" /> 它工作得很好,但我想通过添加一个版本参数来实现缓存破坏: <h:outputScript library="js" name="reworkBase.js?version=1" /> 但是找不到JS文件。我知道如果我使用标记,它也能很好地工作。但是有没有办法用标签实现呢?这是Mojarra中的一个bug。他

在JSF页面中,我使用以下代码包含一个JS文件:

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

它工作得很好,但我想通过添加一个版本参数来实现缓存破坏:

<h:outputScript library="js" name="reworkBase.js?version=1" />


但是找不到JS文件。我知道如果我使用
标记,它也能很好地工作。但是有没有办法用
标签实现呢?

这是Mojarra中的一个bug。他们的
ScriptRenderer
是按照固定的方式支持查询字符串的。但是,对于指定了
的情况,他们的修复是错误的。他们使用
+
而不是
&作为查询字符串参数分隔符,只会导致404:


应该是:


我已将此错误报告为

同时,您最好的选择是完全省略
,因为库名为
js
(显然代表“JavaScript”),您似乎对使用可配置的look'n'feel/脚本库一点也不感兴趣


这将产生正确的URL



我尝试了
,结果是
。否
.xhtml?版本=1
零件。我需要做什么才能显示该部分?抱歉,我回答中的示例不好,您应该将
?version=1
添加到
名称中(我编辑了答案)。关键是省略
。哦,好的。谢谢你的快速回复。@Bhesh:你是提问者吗?这是另一个用户帐户?对不起。我不是。我只是觉得很有趣。对不起,我把你弄糊涂了。