我有一个net.liftweb.util.Box对象,该对象是在搜索用户ID时返回的。 box对象返回如下内容:
net.liftweb.util.Box[MyEntity{attributes}]
如何访问Box中的实体?特别是,我想访问框内实体的属性。
答案 0 :(得分:5)
请参阅http://lift.la/scala-option-lift-box-and-how-to-make-your-co
您可以在foreach / map方法调用中访问Box的内容。例如,如果您想从实体中获取名称:
myBoxedEntity.map(_.name) openOr "No Name Provided"
如果Box已满,您将获得实体名称,否则,您将收到消息。
答案 1 :(得分:1)
如果你想对框上的对象执行一些操作,dmap是有帮助的。
例如:
fooBox.dmap("Yo!")(foo =>
// dome some staff with foo
result // must be string
)
您可以通过调用fooBox.open_直接获取元素!但不建议这样做。当box为空时,它经常会引发空指针异常。