2

次のように、JavaコードからJavaScriptに文字列を渡そうとしています。

myData.data = "${data.myString}";

myStringが含まれている場合、これは壊れます"

代わりにjavascriptの安全な文字列を保存しようとしましたが、代わりに置き換え"ましたが、jspで\"使用すると、代わりに表示された醜い出力が表示されますmyString\""

文字列を安全に渡し、残りの出力を台無しにしないための最良の方法は何ですか。

4

3 に答える 3

1

それをJSPのhtmlにエンコードします。

<input id="test_hide" type="hidden" value="${URIUtil.encodeAll("http://www.google.com?q=a b","UTF-8")}">

次にJavaScriptで:

 myData.data = decodeURIComponent(document.getElementById('test_hide').getAttribute('value'));

Java-文字列を有効なURIオブジェクトに変換します

于 2013-02-18T21:08:50.090 に答える
0

二重引用符をで置き換えると&quot;うまくいくはずです

于 2013-02-18T21:15:19.800 に答える
0

悪い解決策:

文字列に二重引用符が含まれているかどうかを確認し、含まれている場合は次を使用します

myData.data = '${data.myString}';

一重引用符が含まれている場合は、

myData.data = "${data.myString}";

一重引用符と二重引用符の両方がある場合、これは爆発します。

良い解決策:

使用するだけ

&quot;
于 2013-03-06T10:17:38.603 に答える