value%不是scala.xml.NodeSeq的成员

lee*_*777 2 scala lift

我正在尝试使用CSS Selector Transforms来完成一些Lift示例.我正在尝试这种转变:

  • NodeSeq => NodeSeq - 一个转换节点的函数(是的,它可以是一个CssBindFunc): "#name" #> ((n: NodeSeq) => n % ("class" -> "dog")) // <span id="name"/> -> <span id="name" class="dog"/>

这就是%现在给我带来麻烦的.当我尝试编写这样的代码时,我得到了错误value % is not a member of scala.xml.NodeSeq.是否有进口或我缺少的东西?

这是我的片段:

import scala.xml._
import net.liftweb.util.Helpers._

import model.User

class Users {
  def show = {
    ".userName" #> "name replaced" &
    ".userEmail" #> "email replaced" &
    ".changePassword" #> ((n: NodeSeq) => n % ("href" -> "changePassword"))
  }
}
Run Code Online (Sandbox Code Playgroud)

Rex*_*err 5

Elem包含%方法. NodeSeq不是一个Elem,而是一个Nodes 的集合,可能是也可能不是Elem.而且我不确定Lift的助手是否包含创造的含义MetaData,但如果没有,你需要类似的东西

myNodeSeq map {
  case e: Elem => e % new UnprefixedAttribute("href","changePassword",xml.Null)
  case x => x
}
Run Code Online (Sandbox Code Playgroud)

涵盖一般情况.