2012-04-04 108 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 + "'");