PlayFramework:渲染首页样本

时间:2013-01-17 16:26:42

标签: java scala playframework

我是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
}

1 个答案:

答案 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文件。