我有一个存储在网络根目录中的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
属性包含错误的网址。如果此脚本已添加到<h:head>
标记内的模板中,则为
<h:outputScript name="js/decimal_number_text_field.js"/>
然后它运作正常。
为什么在将此标记放入覆盖模板的XHTML页面时,它会使用错误的网址?
答案 0 :(得分:-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