1

我很熟悉Play 1.x。但我不得不使用cassandra数据库。这就是为什么我不得不使用Play 2.x

然而 Scala 真的混合了一切。模板非常不同,Play 2.x例如,Play 1.x我可以将任何参数发送为Stringintobject实例arraylist等。

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

我在文档中读到了一些关于此的Play 2.x内容。你能给我看一些例子或者给我一些关于那个的教程吗?

4

1 回答 1

6

Play 2.x每个视图中都编译为 Scala 函数,因此 forsecurityperformancereasoncompilation意味着您必须在视图中声明参数(及其类型),幸运的是它可以是您希望的任何类型(不仅仅是String)。

例如,如果您有模型model.Book并希望将 a 传递Listmodel.Book视图,则需要在 的第一行声明它view

/app/controllers/Application.java

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

/app/views/listAllBooksView.scala.html

@(books: List[Book])

@for(book <- books){
    @book.title <br>
}
于 2013-02-05T20:34:04.460 回答