2011-06-23 14 views
23

私はLiftWeb、XML、およびバインドメソッドを扱っています。XML-literalの属性値の変数

これは動作します:

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> 

答えて

28

あなたはカッコ内全体を置く:中括弧でそれをすべて入れて

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

ああ、もちろん。ありがとう。 – aioobe

1

答えが正解です。しかし、中括弧で文字列を持つ必要があることを忘れないでください!

だから、あなたはあなたのための型を変換言語から来た場合、それはあなたの前に傷ヘッドの数分を要することができる

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

(ないあなたの例、明らかに)のようなものを記述する必要があります何が間違っているのかを覚えておいてくださいこれを使用する

0

、あなたは引用符を見逃すことはありません。<a href={s"page?param=$Id"}>link</a>