2017-01-05 14 views
0

私はWebサイトから入力を受け取り、新しいページに表示するWebアプリケーションを作成しました。私は自分のコードがまったく呼び出されていないことに気づきます。アクションメソッドはplayframework2.0の入力では機能しません

ルートファイル - 最初にlocalhost:9000を呼び出します。入力ボックスと送信ボタンを表示するDataコントローラのテストメソッドが呼び出されます。私は入力に入力すると、フォームを使用してユーザーオブジェクトにマッピングされるはずですし、

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))) 


} 
} 
新しいページに表示されます - 問題は、提出をクリックする上で、何も

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

モデル起こりません

ビュー

@(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> 

私は間違って何をしていますか?

答えて

0

間違いを発見しました。ボタンの種類は「送信」する必要があります

関連する問題