Вопрос

Как создать узел x(ht)ml-Node, содержащий атрибут href, включая строку запроса, без автоматического экранирования &s или ошибки времени выполнения?

val text = Text("?key=val&key2=val2")

будет сбежать и

val node = <a href="link?key=val&key2=val2">link</a>

броски (в Scala 2.7.5):

java.lang.AssertionError

Узел будет использоваться со вспомогательным методом Liftbind(), предпочтительно с AttrBindParam().

Это было полезно?

Решение

пытаться:

val text = scala.xml.Unparsed("link?key=val&key2=val2")
val node = <a href={text}>link</a>

Но, возможно, вы действительно имели в виду:

val node = <a href="link?key=val&amp;key2=val2">link</a>

Видеть Использование амперсандов в значениях атрибутов (и в других местах) в XHTML 1.0 ссылка.

Другие советы

Следующие слова будут избегать амперсанда:

val node = <a href={"link?key=val&key2=val2"}>link</a>

Это, пожалуй, то, что вам действительно нужно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top