我正在尝试显示带有值的表单,但它不起作用。
我的行动:
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
答案 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()").....)
}