0

我花了一些时间学习 Play 2,现在我想概括我的项目。我有一个渲染实体列表的视图,现在我想传递另一个视图作为参数,它将实体渲染到这个列表中。例如:

// showList.scala.html
@(entityList: List[Entity], /* Template for one Entity render. Named entityRenderer*/)
@for(entity <- entityList) 
 entityRenderer(entity)

// entityRenderer.scala.html
@(entity: Entity)
    @entity.getName()

entityRenderer 应该有哪种类型?

我知道每个模板只是一个 scala 函数但是如何处理它们呢?

4

1 回答 1

0

如果我理解你的问题,我会提出以下建议:

// file main.scala.html
@(entityList: Page[models.Task]) // here we define a Page of entities
@for(entity <- entityList.getList) {
    <ul>
        @tags.entityRenderer(entity) // here we call another view passing the entity
    </ul>
}

另一个文件:

// file entityRenderer.scala.html in package tags
@(entity: Task) // here we define the incoming arguments
     <li>entity.property</li>

请记住,模板基本上被编译成函数。因此,您需要定义正确的参数并显然传递正确的参数。

于 2012-06-01T21:38:26.060 回答