Подтвердить что ты не робот

Переменная в значении атрибута XML-литерала

Я работаю с 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>
4b9b3361

Ответ 1

Вы помещаете все это в скобки:

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

Ответ 2

Ответ на все это в фигурных скобках правильный. Но не забывайте, что вам нужно иметь строку в фигурных скобках!

Итак, вы должны написать что-то вроде (не ваш пример, очевидно)

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

Если вы исходите из языка, который преобразует типы для вас, это может стоить вам несколько минут царапин на голове, прежде чем вы помните, что неправильно, потому что SBT не предлагает сообщение об ошибке, просто подчеркивает его.

Ответ 3

Используя это, вы не пропустите кавычки: <a href={s"page?param=$Id"}>link</a>