2

我正在尝试将我的 java 代码中的字符串传递给 javascript,如下所示:

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

如果myString包含一个"

我尝试存储一个javascript安全字符串,只是替换"为,\"但是当我myString在我的jsp中使用时,我得到一个丑陋的输出,\"显示而不是"

安全传递字符串而不弄乱我的其余输出的最佳方法是什么。

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

Replacing the double quotes with &quot; should work

于 2013-02-18T21:15:19.800 回答
0

一个糟糕的解决方案:

检查您的字符串是否有双引号,如果是,则使用

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

如果它包含单引号使用

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

如果您同时使用单引号和双引号,这将爆炸。

一个很好的解决方案:

只需使用

&quot;
于 2013-03-06T10:17:38.603 回答