循环遍历对象列表并在升降机中显示它

时间:2011-11-12 19:07:40

标签: scala lift

如何在scala代码中没有标记的情况下查看对象并显示结果?

我有以下代码:

class User(id: Long, name: String)

class DisplayIt {
  def display = {
    val users = List(new User(0,"John"), new User(1, "James"))
    "#name *" #> users.map(_.name) &
    "#id *" #> users.map(_.id.toString)
  }
}


//In the html:
<div class="lift:DisplayIt.display">
  <div class="one-user">
    User <span id="name"> has the id <span id="id">
  </div>
</div>

现在发生的事情是我以“用户John James的id为0 1”结束,所有这些都在一个div class =“one-user”中。

我如何循环它以便每个用户都有一个div class =“one-user”?

我知道我可以在scala代码中编写html / xml并以这种方式编写,但有没有一种简单的方法可以在scala代码中没有任何xml的情况下执行它?

2 个答案:

答案 0 :(得分:1)

尝试

def display = {
  val users = List(new User(0, "John"), new User(1, "James"))
  ".one-user *" #> users.map { u =>
    "#name *" #> u.name &
    "#id *" #> u.id.toString
  }
}

基本上,你必须先匹配一个周围的元素,然后应用一个转换列表。

答案 1 :(得分:1)

尝试

def list = { ".one-user *" #> users.map( n => { 
  "#name *" #> n.name) & 
  "#id *" #> n.id.toString) 
  }
) }