2015-10-18 48 views
0

answer工作正常與硬編碼的位置,但我想用我的<c:forEach var="location" items="${latlng.rows}">和填充locations變量從數據庫與<sql:setDataSource>標記。我在我的數據庫表中有6行,但我只從地圖上的數據庫獲取最後一個標記。谷歌地圖與JS和JSTL的多個標記

這是硬編碼版本的正常工作:

<script type="text/javascript"> 
    var locations = [ 
     ['Bondi Beach', -33.890542, 151.274856, 4], 
     ['Coogee Beach', -33.923036, 151.259052, 5], 
     ['Cronulla Beach', -34.028249, 151.157507, 3], 
     ['Manly Beach', -33.80010128657071, 151.28747820854187, 2], 
     ['Maroubra Beach', -33.950198, 151.259302, 1] 
    ]; 

..... 
</script> 

這裏是我的代碼無法正常工作:

<script type="text/javascript"> 
    var locations = [ 
     <c:forEach var="location" items="${latlng.rows}"> 
      [<c:out value='${location.name}'/>, 
      <c:out value='${location.latitude}'/>, 
      <c:out value='${location.longitude}'/>, 
      <c:out value='${location.id}'/> ], 
     </c:forEach>   
    ]; 
..... 
</script> 

我怎樣才能得到的forEach項目輸出行像硬編碼版本的Works ?

回答

0

我不知道這是否是正確的答案,但這對我有用,以防其他人遇到同樣的問題。

var locations = []; 
     <c:forEach var="location" items="${latlng.rows}"> 
      locations.push(["${location.name}", 
          "${location.latitude}", 
          "${location.longitude}", 
          "${location.id}"]); 
     </c:forEach>