0

我是 play 框架的新手,并且遵循 play 2.0.4 的教程。尝试呈现页面时出现错误。在教程中你可以看到他们将任务列表和任务表单作为参数传递给render方法,但这个方法只接受字符串参数。如何传递这些参数?

public static Result tasks() {
    return ok(
        views.html.index.render(Task.all(), taskForm) 
    ); //render only accepts String parameters at least in play 2.0.4
}
4

1 回答 1

2

我猜你在说这个:教程

在本教程的开头文件 index.scala.html 将 String 作为参数。整个 index.scala.html 文件如下所示:

@(message: String)

@main("Welcome to Play 2.0") {

@play20.welcome(message)

}

这部分:@(message: String)是参数的定义,您可以将其传递给控制器​​中的方法 index.render(someString)。

在本教程中 index.scala.html 的内容进一步更改为:

@(tasks: List[Task], taskForm: Form[Task])

@import helper._

@main("Todo list") {

<h1>@tasks.size() task(s)</h1>

<ul>
    @for(task <- tasks) { 

……………………

方法 index.render 的参数定义更改为:@(tasks: List[Task], taskForm: Form[Task])之后您可以在控制器代码中调用:

return ok(
views.html.index.render(Task.all(), taskForm)
);

我想,你忘了更新 index.scala.html 文件。

于 2013-01-17T16:44:03.147 回答