我是Play框架的新手,并遵循play 2.0.4的教程。我尝试渲染页面时出错。在本教程中,您可以看到他们将任务列表和任务表单作为参数添加到render
方法中,但此方法仅接受String参数。如何传递这些参数?
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
}
答案 0 :(得分:2)
我猜你在谈论这个:tutorial?
在本教程的开头,index.scala.html将String作为参数。整个index.scala.html文件如下所示:
@(message: String)
@main("Welcome to Play 2.0") {
@play20.welcome(message)
}
这部分:@(message: String)
是参数whitch的定义,可以传递给控制器中的方法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文件。