2012-02-02 13 views
9

Play 2.0 Scalaアプリケーションでは、1つのパラメータを持つフォームを持つ単純なページがあります。別のページにリダイレクトされ、フォームからパラメータを使って何かをしたい。どうすれば入手できますか?Play 2.0のリクエストからフォームパラメータ値を取得するScalaコントローラ

私はrequest.bodyを知っているが、まだそれから、単一のパラメータ値を取得する方法がわからない

request.formData.get("paramName") 

のようなものを探しています。

答えて

9

フォームデータを取得する最も簡単な方法は、構造体をplay.api.dataに使用することです。だからここにあなたがplay2.0-rc1の代わりにあなたがof[String]を使用する場合がありますnonEmptyTextを使用しての

val form = Form[(String, String)](
    tuple(
    "paramName1" -> nonEmptyText, 
    "paramName2" -> nonEmptyText 
) 
) 

form.bindFromRequest.fold(
    failure =>(),//do smthg with the failure info 
    { case (p1, p2) => println(p1);println(p1)} 
) 

でそれを行うことができる方法です。

ここにそのマッピングのために何が入っているか確認してください。Forms Helper さらにお手伝いいただける他の情報はhereです。

6

以下とPOSTリクエストが動作できる場合

要求()体()asFormUrlEncoded()を取得( "MYPARAM")[0]。。。。

+5

これは次のとおりです: 'request.body.asFormUrlEncoded.get(" myparam ")' – jbnunn

+0

これはとても悪いですが、その答えです – decapo

関連する問題