我想在JSF项目中包含OpenLayers.js。
<h:outputScript library="js" name="OpenLayers.js" target="head"/>
我没有任何资源文件夹,所以我创建了一个并添加了openlayers.js和其他文件夹,如thread所述。
我也尝试将其放入lib文件夹中 但我总是得到:
script type =“text / javascript”src =“RES_NOT_FOUND
我是否需要进行其他配置才能运行此js库?
答案 0 :(得分:1)
我们遇到同样的问题。 OpenLayers.js计算脚本位置URI,并根据此位置包括样式等其他组件。
所以我们使用选项1 JS包含得很好,但是CSS和IMAGES的链接断开了。 作为临时解决方案,我们现在使用第二种选择,它运作良好。
1: <h:outputScript library="js/openlayers" name="OpenLayers.js" />
2: <script src="resources/js/openlayers/OpenLayers.js"></script>
原因是JSF会覆盖链接,因此OpenLayers.js.xhtml不再与正则表达式匹配: http://HOST/CONTEXT/javax.faces.resource/OpenLayers.js.xhtml?ln=js/openlayers
只要你没有像jar中的MapConponent那样使用option2就没问题了。