0

次のようなWebルートにJavaScriptファイルが保存されています。

SocialNetworking/web/resources/js/decimal_number_text_field.js

この js ファイルを XHTML ページにインポートしようとしています。

<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 に答える