0

私のプレーから!フレームワーク ビュー 次のような文字列の配列を 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})しかし、動作しません。

4

2 に答える 2

0

次の方法で問題を解決できました。

  • 文字JSのエスケープは「好き」ではありません
  • 引用符で囲む

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

于 2012-04-04T11:54:46.780 に答える
0

文字列は引用符で囲み、バックスラッシュをエスケープする必要があります。

そのため、" and ' は \" and \' として出力されます

于 2012-04-04T11:08:54.857 に答える