如何使用Scala创建xhtml查询字符串?

时间:2010-02-24 13:42:41

标签: xml xhtml scala query-string lift

如何创建包含href属性的x(ht)ml-Node,其中包含查询字符串,而不会自动转义&运行错误?

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

该节点将与Lift bind()辅助方法一起使用,最好与AttrBindParam()一起使用。

2 个答案:

答案 0 :(得分:5)

尝试:

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参考中的Using Ampersands in Attribute Values (and Elsewhere)

答案 1 :(得分:1)

以下将逃脱&符号:

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

可以说,这正是你真正需要的。