动作方法不适用于playframework2.0中的输入

时间:2017-01-05 22:16:57

标签: playframework-2.2

我创建了一个Web应用程序,它应该从网站获取输入并将其显示在新页面上。我注意到我的代码根本没有被调用。

路由文件 - 我先调用localhost:9000。调用数据控制器中的测试方法,显示输入框和提交按钮。问题在于点击提交,没有任何反应

GET     /data                       controllers.Data.test
GET     /data/post                  controllers.Data.post

模型 - 我在输入中输入的内容应该使用表单映射到User对象并显示在新页面中

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>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

发现错误。按钮类型应为&#39;提交&#39;