這是一個完整的(但簡單)的表單示例爲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