0

我有一个 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?

4

1 回答 1

-1

尝试使用 :#{request.contextPath}如下。根据您的文件路径,resources包必须在 Web 应用程序根目录下。

或者

<script type="text/javascript" src="#{request.contextPath}/resources/js/decimal_number_text_field.js.jsf">
</script>

目录结构:

applicaiton.war
     - resources
       - js
         - decimal_number_text_field.js.jsf
于 2013-07-23T11:37:29.977 回答