2013-05-08 55 views

回答

3

基本上,以与HTML forms with java Play Framework 2相同的方式设置视图&,然后将其放置在您的控制器中。

object MyController extends Controller { 
    case class Submission(value: String) 
    val submissionForm = Form(
    mapping(
     "value" -> text 
    )(Submission.apply)(Submission.unapply) 
) 

    def myaction = Action { implicit request => 
    submissionForm.bindFromRequest().fold(
     formWithErrors => { 
     // do something with the bad form, like reshow the view 
     Ok("got a bad form") 
     }, 
     submission => { 
     // do something with the submitted form 
     Ok("got " + submission.value) 
     } 
    ) 
    } 
} 

Play 2.1 Forms Documentation

+0

谢谢! @mbarlocker – raxelsson 2013-05-13 13:06:05

5
object MyController extends Controller { 
    val submissionForm = Form(
    single("myvalue" -> text) 
) 

    def myaction = TODO //as like @mbarlocker told before 
} 

在单个输入的这样一个简单的例子,你不必在形式上定义中使用的映射,你不必在输入端使用任何模板帮手。模板助手是有用的,但在这种情况下,您可以在布局上获得自由,而无需编写自定义字段构造函数。例如,如果您需要将提交按钮放在输入字段旁边,只需写下如下内容:

@form(routes.Application.myaction, 'class -> "form-inline") { 
     <input type="text" id="myvalue" name="myvalue" value="@submissionForm.data.get("myvalue")"> 
     <input type="submit" class="btn" value="Submit :)"> 
    } 
+0

“单”而不是“元组”是非常有益的,谢谢。 – wwkudu 2015-07-17 05:35:35