2012-04-04 5 views
0

Из моей игры! рамочная вид я передать массив строк в мой метод Js как:JavaScript pass array of strings issue

<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

Я был в состоянии решить эту проблему путем:

  • вылетающего CHARS JS не "как"
  • окружающей с цитирует

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