我有一个 JavaScript 文件存储在网络根目录中,例如,
SocialNetworking/web/resources/js/decimal_number_text_field.js
我正在尝试在 XHTML 页面中导入这个 js 文件,例如,
<h:body>
<ui:composition template="template/Template.xhtml">
<ui:define name="content">
<h:outputScript name="../resources/js/decimal_number_text_field.js"/>
</ui:define>
</ui:composition>
</h:body>
路径是正确的,但它不起作用。
生成的 JavaScript 标记如下所示。
<script type="text/javascript" src="/SocialNetworking/javax.faces.resource/../resources/js/decimal_number_text_field.js.jsf">
</script>
因此,该src
属性包含错误的 URL。如果像这样将此脚本添加到<h:head>
标签内的模板中,
<h:outputScript name="js/decimal_number_text_field.js"/>
然后它工作正常。
当这个标签被放置在一个覆盖模板的 XHTML 页面中时,为什么它会使用错误的 URL?