如何渲染arraylist或list并在模板播放框架2.x中处理它

gab*_*bby 1 template-engine playframework-2.0

我很熟悉Play 1.x.但我不得不使用cassandraDB.这就是我必须使用的原因Play 2.x

然而Scala真的混合了一切.模板是非常不同的Play 2.x.例如,在Play 1.x我简直发送任何参数为String,int,object例如,arraylist等等.

在渲染到视图模板时,可以在模板中轻松使用这些参数.我不知道如何成功,Play 2.x只有一个渲染,它只是让我渲染一个String.

我在Play 2.x文档中读到了一些相关内容.你能告诉我一些例子或者给我一些关于这方面的教程吗?

bie*_*ior 6

Play 2.x每个视图被编译到斯卡拉的功能,所以security,performancecompilation原因意味着你必须声明中的观点论据(和它们的类型),幸运的是它可以是你希望(不仅是任何类型String).

举个例子,如果你有模型model.Book,并希望传递Listmodel.Book对视,你需要声明它的第一行view:

/app/controllers/Application.java:

public static Result listAllBooks(){
    List<Book> books = Book.find.all();
    return ok(listAllBooksView.render(books));
}
Run Code Online (Sandbox Code Playgroud)

/app/views/listAllBooksView.scala.html

@(books: List[Book])

@for(book <- books){
    @book.title <br>
}
Run Code Online (Sandbox Code Playgroud)