ui:在javascript中重复

ui:在javascript中重复,javascript,jsf,el,Javascript,Jsf,El,有没有办法在javascript中执行ui:repeat?这就是我想做的 var point; <ui:repeat value="#{testController.allItems}" var="item"> point = new google.maps.LatLng(item.latitude,item.longitude); createMarker(point, item.name, item.desc); </ui:repeat> var点;

有没有办法在javascript中执行ui:repeat?这就是我想做的

var point;
<ui:repeat value="#{testController.allItems}" var="item">
  point = new google.maps.LatLng(item.latitude,item.longitude);
  createMarker(point, item.name, item.desc);   
</ui:repeat>
var点;
point=new google.maps.LatLng(item.latitude,item.longitude);
createMarker(点,item.name,item.desc);
testController.allItems
返回带有纬度、经度和其他值的实体列表,我正在尝试使用谷歌地图进行商店定位<代码>创建标记将标记添加到地图

或者有更好的方法吗?

您可以尝试(另一个选项:
c:forEach
):


我有这个问题(c:forEach也不起作用)。使用
标记而不是
标记解决了问题。有了
标记,我可以使用ui:repeat

如果您使用java代码生成javascript代码,最好将其移动到JSF复合组件。这是一个更可重用的实践。你可以看看这个例子。考虑一下,添加一个简单的REST服务,只需获取数据并在JS中解析它即可。您正在实施的方法非常令人厌恶。
        <script type="text/javascript">
                var point;
                <ui:repeat value="#{s9.list}" var="item">
                   point = new google.maps.LatLng(#{item.latitude},#{item.longitude});
                   createMarker(point, #{item.name}, #{item.desc});
                </ui:repeat>
        </script>
    google.maps.LatLng('#{item.latitude}','#{item.longitude}');
    createMarker(point, '#{item.name}', '#{item.desc}');