这是一个完整的(但简单)的表单示例为Play 2.1.1。包括视图,控制器和路由文件。我怀疑你是missing imports和/或implicit request。这两个都是可以理解的!
控制器(Application.scala):
package controllers
import play.api._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
object Application extends Controller {
val form = Form(
tuple(
"firstname" -> text,
"lastname" -> text
)
)
def index = Action {
Ok(views.html.index())
}
def submit = Action { implicit request =>
val (fname, lname) = form.bindFromRequest.get
Ok("Hi %s %s".format(fname, lname))
}
}
的视图(index.scala.html):
<!DOCTYPE html>
<html>
<head>
<title>Form example</title>
</head>
<body>
<form method="post" autocomplete="on">
First name:<input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
<input type="submit">
</form>
</body>
</html>
而且路线:
GET / controllers.Application.index
POST / controllers.Application.submit
NB: HTML视图中的名称属性必须与控制器表单中的字符串文字相匹配。
希望有帮助。
你有没有机会导入scala.text?删除它并添加@Matt机器人的相应导入应该可以解决您的问题。 – binshi