2013-05-08 57 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