15

我需要在java中把它变成一个字符串:

 <script type="text/javascript">document.write("<img src=\"UpArrow.png\" /> \"); </script>

有人可以帮忙吗?我一直在尝试,结果是这样的......

return "<script type=\"text/javascript\">document.write(\"<img src=\"UpArrow.png\" /> \"); </script>";

这不起作用,因为我需要在 UpArrow.png 之前和之后双重转义引号。因为它需要在 javascript 中而不是在 java 中进行转义。

.

.

2019 年更新:如果你正在看这个,上帝保佑你的灵魂。这是一个糟糕的代码,如果你试图以这种方式做事,那么你做错了(正如其他人向我建议的那样)。

做到这一点的正确方法是 jquery 或现在存在的无数 DOM 修改框架之一,并将内容弹出/弹出 DOM 范围。

如果你这样做,你不应该看上面的代码或下面的解决方案,而应该去了解更多,因为这是制作意大利面条代码的途径。

4

3 回答 3

23

Apache commons 在StringEscapeUtils中有一个专门用于此的方法:escapeJavaScript方法。

于 2012-08-29T16:10:14.377 回答
8

看起来它已在 Apache Commons Lang 3 中移至 StringEscapeUtils 中的 ESCAPE_ECMASCRIPT。

https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/src-html/org/apache/commons/lang3/StringEscapeUtils.html#line.74

于 2016-08-23T21:32:37.590 回答
7

它似乎又移动了,现在它是“commons-text”的一部分并被命名为:

StringEscapeUtils.escapeEcmaScript

但好在它仍然存在。

于 2018-06-20T18:19:37.540 回答