次のような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 が取得されるのはなぜですか?