2011-06-23 58 views
23

Tôi đang làm việc với LiftWeb, XML và phương thức liên kết.Biến trong giá trị thuộc tính của XML-

này hoạt động:

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

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

nhưng những gì nếu tôi muốn <a href="page?param=test">link</a>?

này không hoạt động:

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

Trả lời

28

Bạn đặt toàn bộ điều bên trong dấu ngoặc:

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

ah, tất nhiên. Cảm ơn. – aioobe

1

Câu trả lời cho tất cả đặt nó trong dấu ngoặc nhọn là đúng. Nhưng đừng quên rằng bạn cần phải có một chuỗi trong các dấu ngoặc nhọn!

Vì vậy, bạn phải viết một cái gì đó tương tự (không ví dụ của bạn, rõ ràng)

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

Nếu bạn đến từ một ngôn ngữ mà chuyển đổi loại cho bạn, nó có thể mất một vài phút đầu gãi trước khi bạn nhớ những gì sai, bởi vì SBT không cung cấp thông báo lỗi, chỉ nhấn mạnh nó.

0

Sử dụng điều này, bạn sẽ không bỏ lỡ các trích dẫn: <a href={s"page?param=$Id"}>link</a>

Các vấn đề liên quan