2012-04-04 96 views
0

從我的播放!框架視圖我通過一個字符串數組到我喜歡的js方法:JavaScript傳遞字符串數組問題

<script type="text/javascript"> 
     buildMapWithMarkers('map_canvas', ${hotelsLat}, ${hotelsLng}, ${hotelsNames}), 'false'); 
    </script> 

的問題是,有時hotelsNames含有具有'&例如Hyatt's Green字符串:

buildMapWithMarkers('map_canvas', [43.3484420, 43.614980, 43.549480], [-97.4318550, -97.61660500000001, -97.5021910], [Sportsmans Acres Pheasant Hunts, Hyatt's Green Acres, Guest Room Motel]), 'false'); 

所以它引發一些例外:

Uncaught SyntaxError: Unexpected identifier

你能幫我一下嗎?對此進行編碼(視圖或控制器)?

我試過了:encodeURIComponent(${hotelsNames})但不起作用。

回答

0

您的字符串需要用引號和反斜槓進行包圍轉義。

使「和「打印出\」和\」

0

我能夠解決的問題:

  • 逃脫字符JS不‘喜歡’
  • 與周邊引用

    final String hotelName = StringEscapeUtils .escapeJavaScript(hotel.name); hotelsNames.add("'" + hotelName + "'");