2

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

我的行动:

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
4

2 回答 2

3

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

@(myForm : Form[User])

<!DOCTYPE html>
<html>
<head>
</head>
<body>
     @helper.inputText(myForm("name"))
</body>
</html>
于 2012-07-27T05:58:23.387 回答
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()").....)
}
于 2012-07-27T15:53:05.780 回答