Предотвратите Scala от необходимости избегать двойных кавычек в XML
Если я сгенерирую Javascript в моем Scala коде, например:
<script type="text/javascript">
foo("{bar}");
</script>
а Javascript содержит символ двойной кавычки (как в примере), он будет выглядеть как "
, когда XML будет преобразован в строку, а Firefox отклонит этот Javascript как синтаксическую ошибку.
Как я могу избежать этой ошибки Javascript, не удаляя "
, которые действительно нужны?
Я использую Play Framework 1.2.4 с модулем Scala 0.9.1, для которого требуется Scala 2.8.1.
Ответы
Ответ 1
что-то вроде этой работы для вас?
scala> val bar=scala.xml.Unparsed(""""hello"""")
bar: scala.xml.Unparsed = "hello"
scala> val x = <script type="text/javascript">foo({bar});</script>
x: scala.xml.Elem = <script type="text/javascript">foo("hello");</script>
Ответ 2
Если вы вызываете его из шаблона Play, вы можете сделать ${myscript.raw()}, а не просто ${myscript}. Тег # {verbatim/} также должен работать.