在JSF 2.1项目中包含Openlayer.js

时间:2012-01-25 12:24:56

标签: jsf openlayers

我想在JSF项目中包含OpenLayers.js。

<h:outputScript library="js" name="OpenLayers.js" target="head"/>

  1. 我没有任何资源文件夹,所以我创建了一个并添加了openlayers.js和其他文件夹,如thread所述。

  2. 我也尝试将其放入lib文件夹中 但我总是得到:

  3. enter image description here

      

    script type =“text / javascript”src =“RES_NOT_FOUND

    我是否需要进行其他配置才能运行此js库?

1 个答案:

答案 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就没问题了。