类型与@helper不匹配

时间:2012-07-26 23:54:35

标签: java playframework playframework-2.0

我正在尝试显示带有值的表单,但它不起作用。

我的行动:

public static Result login() {
    User user = new User();
    user.name = "Murilo";

    Form<User> userForm = form(User.class);

    return ok(login.render(userForm.fill(user)));
}

和我的HTML:

@(myForm : play.data.Form[models.User])

<!DOCTYPE html>
<html>
<head>
</head>
<body>
     @helper.inputText(myForm("name"))
</body>
</html>

但是当我访问它时,会抛出以下错误:

type mismatch; found : play.data.Form.Field required: play.api.data.Field

2 个答案:

答案 0 :(得分:3)

在您的模板中,它应该是:

@(myForm : Form[User])

<!DOCTYPE html>
<html>
<head>
</head>
<body>
     @helper.inputText(myForm("name"))
</body>
</html>

答案 1 :(得分:3)

作为 nico_ekito 的一个补充:我通常不会使用@helper..,因为如果您的表单开始增长(更多字段),它会很长而且/不可读。所以我做了以下几点:

@(editForm:Form[User]

@*** IMPORTS ****@
@import helper._

@form(routes.Tasks.save(), 'class -> "form-horizontal") {
     @inputText(editForm:Form("description()").....)
     @inputArea(editForm:Form("description()").....)
}