0

我想在名为 Banner 的 portlet 中使用http://maps.google.com/maps/api/js

为此,在gatein-resources.xml 中,我已将其声明为名称为googlemap 的shaired 资源,并将googlemap 添加为Banner portlet 的依赖项

<scripts>
    <name>googlemap</name>
    <url>http://maps.google.com/maps/api/js</url>
</scripts> 



<portlet>
    <name>
        Banner
     </name>
    <scripts>
        <depends>
            <scripts>googlemap</scripts>
        </depends>
    </scripts>
</portlet> 

但是在加载横幅 portlet 地图时没有显示。

如果我在横幅 portlet 中使用 的 jsp 文件中的脚本标记内声明http://maps.google.com/maps/api/js文件,则会显示谷歌地图。

谁能解释为什么 googlemap js 在gatein-resources.xml 中声明时没有加载。
所有其他脚本都驻留在本地系统中,在 gate-resources 中声明的本身工作正常。

4

1 回答 1

0

首先,您的模块声明中可能存在错误,因为模块声明不适合gatrein-resources xsd schmea 声明。它应该类似于以下内容:

<portlet>
  <name>Banner</name>
  <module>
    <depends>
      <module>googlemap</module>
    </depends>
  </module>
</portlet>

<module>
  <name>googlemap</name>
  <script>
    <path>/path/to/your/js/file.js</path>
  </script>
</module>

同时您应该知道 GateIn 的 AMD(异步模块定义)引擎不提供对内容分发网络(CDN) 文件的支持,您必须提供指向 webapp 存档下本地文件的路径,而不是远程文件.

据我所知,GateIn 人员已计划在即将发布的版本中支持 CDN 路径文件。

于 2014-12-06T10:43:18.020 回答