我正在尝试做一个简单的 /author/ 案例,并让 Lift 根据传入的 id 构建一个 Person 对象。
目前我有一个作者片段
class Author(item: Person) {
def render = {
val s = item match { case Full(item) => "Name"; case _ => "not found" }
" *" #> s;
}
}
object Author{
val menu = Menu.param[Person]("Author", "Author", authorId => findPersonById(authorId), person => getIdForPerson(person)) / "author"
def findPersonById(id:String) : Box[Person] = {
//if(id == "bob"){
val p = new Person()
p.name="Bobby"
p.age = 32
println("findPersonById() id = " +id)
Full(p)
//}else{
//return Empty
//}
}
def getIdForPerson(person:Person) : String = {
return "1234"
}
}
我试图做的是获取代码来构建一个装箱的人对象并将其传递给 Author 类的构造函数。在渲染方法中,我想确定框是否已满并酌情进行。
如果我改变
class Author(item: Person) {
至
class Author(item: Box[Person]) {
它不再有效,但如果我保持原样,它不再有效,因为 Full(item) 不正确。如果我删除 val s 行,它可以工作(并用 item.name 替换 s)。那我该怎么做。谢谢