2012-02-02 104 views
9

在Play 2.0 Scala应用程序中,我使用带有一个参数的Form的简单页面。它重定向到另一个页面,在那里我想用表单中的参数做一些事情。我怎么才能得到它?从Play 2.0 Scala控制器请求获取表单参数值

我正在寻找类似

request.formData.get("paramName") 

我知道request.body,但还是不知道如何从中获得单一的参数值。

回答

9

我想说,检索表单数据的最简单方法是使用play.api.data中的Form结构。因此,这里是你如何能做到这一点在play2.0-RC1

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

而不是使用nonEmptyText你可以使用of[String]的。

检查这里的映射放在你的手里Forms Helper。 其他一些可以帮助您进一步了解的信息是here

6

如果具有以下POST请求可能工作

请求()主体()asFormUrlEncoded()得到( “myparam”)[0]。。。;

+5

在斯卡拉这是:'request.body.asFormUrlEncoded.get(“myparam”)' – jbnunn 2013-09-03 18:34:46

+0

这是如此糟糕,但它的答案 – decapo 2017-05-01 11:35:56