在 java 中转义 javascript 字符串

我需要在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的范围之外。

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


答案 1

Apache commons在StringEscapeUtils中有一个方法:方法。escapeJavaScript


答案 2

看起来它在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