javascript array and jsf/richfaces



我在javascript中有以下代码:

        <script type="text/javascript"
            src="#{facesContext.externalContext.requestContextPath}/js/sample-points.js"></script>
        <script type="text/javascript">//<![CDATA[
            var cloudmade = new CM.Tiles.CloudMade.Web({key: 'bbb'});
            var map = new CM.Map('cm-example', cloudmade);
            map.setCenter(new CM.LatLng(51.50874, 22.76367), 4);
            var markers = [];
            for (var i = 0; i < samplePoints.length; i++) {
                markers.push(new CM.Marker(new CM.LatLng(samplePoints[i][0], samplePoints[i][1])));
            }
            var clusterer = new CM.MarkerClusterer(map, {clusterRadius: 70});
            clusterer.addMarkers(markers);
        //]]></script>

"samplePoints"是一个坐标数组,我可以用它来显示地图上的标记。

地图显示在这里:

<div id="cm-example" style="width: 99.5%; height: 600px"></div>

我如何在不使用文件的情况下从jsf/richfaces提供这个数组(例如,我想从db获取这些数据,创建数组并发送到这个脚本)?

感谢

只需让JSF将其打印为JavaScript代码即可。

更换

var markers = [];
for (var i = 0; i < samplePoints.length; i++) {
    markers.push(new CM.Marker(new CM.LatLng(samplePoints[i][0], samplePoints[i][1])));
}

通过(假设Facelets)

var markers = [];
<ui:repeat value="#{bean.samplePoints}" var="samplePoint">
    markers.push(new CM.Marker(new CM.LatLng(#{samplePoint[0]}, #{samplePoint[1]})));
</ui:repeat>

其中CCD_ 1返回CCD_。

查看此链接

使用jsFunction,您可以加载任何数据结构(例如Points),在客户端,您可以获得一个可以轻松访问的javaScript数据结构(point.x)。

相关内容

  • 没有找到相关文章

最新更新