从我的游戏开始!框架视图我将一个字符串数组传递给我的js方法,如:
<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)
您的字符串需要用引号括起来并反斜杠转义。
这样“和'打印为\”和\'
答案 1 :(得分:0)
我能够通过以下方式解决问题:
围绕引号
final String hotelName = StringEscapeUtils .escapeJavaScript(hotel.name);
hotelsNames.add("'" + hotelName + "'");