XML-literal属性值的变量

时间:2011-06-23 07:19:31

标签: xml scala lift

我正在使用LiftWeb,XML和绑定方法。

这有效:

scala> val id = "test"                    
id: java.lang.String = test

scala> <a href={id}>link</a>              
res4: scala.xml.Elem = <a href="test">link</a>

但如果我想要<a href="page?param=test">link</a>怎么办?

这不起作用:

scala> <a href="page?param={id}">link</a>   
res5: scala.xml.Elem = <a href="page?param={id}">link</a>

3 个答案:

答案 0 :(得分:30)

你把整件事放在括号内:

<a href={ "page?param=" + id }>link</a>

答案 1 :(得分:2)

把它全部放在花括号中的答案是正确的。但是不要忘记你需要在花括号中加一个字符串!

所以,你必须写一些类似的东西(显然不是你的例子)

<edge label={name} weight={weight.toString} />

如果你来自一种为你转换类型的语言,那么在记住错误之前,你可能会花费几分钟的时间去抓头,因为SBT没有提供任何错误信息,只是强调它。

答案 2 :(得分:0)

使用此功能,您不会错过引号:<a href={s"page?param=$Id"}>link</a>