Экранирование строки JavaScript в Java

Мне нужно сделать это в строку в 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.

3 ответа

Решение

У общих Apache есть методы только для этого в StringEscapeUtils: escapeJavaScript метод.

Кажется, он снова перемещен, теперь он является частью "commons-text" и называется:

StringEscapeUtils.escapeEcmaScript

Но хорошо это все еще существует.

Похоже, что он был перемещен в Apache Commons Lang 3 в ESCAPE_ECMASCRIPT в StringEscapeUtils.

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

Другие вопросы по тегам