2011-06-23 37 views
23

Estoy trabajando con LiftWeb, XML y el método bind.Variable en el valor del atributo XML-literal

Esto funciona:

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

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

pero lo que si quiero <a href="page?param=test">link</a>?

Esto no funciona:

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

Respuesta

28

Se puso todo el asunto dentro de los corchetes:

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

ah, por supuesto. Gracias. – aioobe

1

La respuesta a ponerlo todo entre llaves es correcta. ¡Pero no olvides que debes tener una cuerda en las llaves!

Por lo tanto, usted tiene que escribir algo similar (no tu ejemplo, obviamente)

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

Si usted viene de un lenguaje que convierte los tipos para usted, le puede costar unos pocos minutos de rascarse la cabeza antes recuerda lo que está mal, porque SBT no ofrece ningún mensaje de error, simplemente lo subraya.

0

uso de este, que no se pierda las comillas: <a href={s"page?param=$Id"}>link</a>

Cuestiones relacionadas