ui:在javascript里面重复一遍

时间:2013-05-07 02:15:36

标签: javascript jsf el

有没有办法执行一个ui:在javascript里面重复?这就是我想要做的。

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>

testController.allItems返回包含纬度和经度以及其他值的实体列表,我正在尝试使用谷歌地图进行商店定位。 createMarker为地图添加了标记。

还是有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

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

        <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>

如果你的函数需要String参数,你应该使用'',例如:

    google.maps.LatLng('#{item.latitude}','#{item.longitude}');
    createMarker(point, '#{item.name}', '#{item.desc}');

答案 1 :(得分:0)

我有这个问题(c:forEach也不起作用)。使用 // Create a file in the Internal Storage String fileName = "MyFile"; String content = "hello world"; FileOutputStream outputStream = null; try { outputStream = openFileOutput(fileName, Context.MODE_APPEND); outputStream.write(content.getBytes()); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } 代码而不是<h:outputScript>代码解决了问题。使用<script>标记我可以使用ui:repeat