操作方法不适用于 playframework2.0 中的输入
action method not working on input in playframework2.0
我创建了一个 Web 应用程序,它应该从网站获取输入并将其显示在新页面上。我注意到我的代码根本没有被调用。
路线文件 - 我先调用 localhost:9000。调用数据控制器中的测试方法,它显示一个输入框和一个提交按钮。单击提交时出现问题,没有任何反应
GET /data controllers.Data.test
GET /data/post controllers.Data.post
模型 - 我在输入中输入的内容应该使用表单映射到用户对象并显示在新页面中
case class User (name:String)
控制器代码
object Data extends Controller {
val userForm = Form((mapping("name"->text))(User.apply)(User.unapply))
//this gets called for url localhost:9000/data
def test = Action {
Ok(views.html.dataIndex(None))
}
//PROBLEM - this should get called on clicking submit button but it doesn't get called
def post = Action { implicit request =>
println("in post")
val u:User = userForm.bindFromRequest().get
Ok(views.html.dataIndex(Some(u)))
}
}
查看
@(u:Option[User])
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
<script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script>
</head>
<body>
@u match {
case Some(user) => {
<h1> You entered </h1>
<ul id="hardcode-list" >
<li>@user.name</li>
</ul>
}
case None => {
<h1>Feed User Data</h1>
<form action="/data/post" method="get">
<input type="text" name="name"/>
<input type="button" name="send" value="Submit"/>
</form>
}
}
</body>
</html>
我做错了什么?
发现错误。按钮类型应为 'submit'
我创建了一个 Web 应用程序,它应该从网站获取输入并将其显示在新页面上。我注意到我的代码根本没有被调用。
路线文件 - 我先调用 localhost:9000。调用数据控制器中的测试方法,它显示一个输入框和一个提交按钮。单击提交时出现问题,没有任何反应
GET /data controllers.Data.test
GET /data/post controllers.Data.post
模型 - 我在输入中输入的内容应该使用表单映射到用户对象并显示在新页面中
case class User (name:String)
控制器代码
object Data extends Controller {
val userForm = Form((mapping("name"->text))(User.apply)(User.unapply))
//this gets called for url localhost:9000/data
def test = Action {
Ok(views.html.dataIndex(None))
}
//PROBLEM - this should get called on clicking submit button but it doesn't get called
def post = Action { implicit request =>
println("in post")
val u:User = userForm.bindFromRequest().get
Ok(views.html.dataIndex(Some(u)))
}
}
查看
@(u:Option[User])
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
<script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script>
</head>
<body>
@u match {
case Some(user) => {
<h1> You entered </h1>
<ul id="hardcode-list" >
<li>@user.name</li>
</ul>
}
case None => {
<h1>Feed User Data</h1>
<form action="/data/post" method="get">
<input type="text" name="name"/>
<input type="button" name="send" value="Submit"/>
</form>
}
}
</body>
</html>
我做错了什么?
发现错误。按钮类型应为 'submit'