技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Form をテンプレート上でバインドする

先ずはフォームヘルパーを使用します。

@helper.form(action = controllers.routes.User.create, 'id -> "user") {
  @* any contents here */
}

ここにフォームをバインド下HTMLコンポーネントを配置していきます。

テンプレートヘルパーは

/framework/src/play/src/main/scala/views/helper

に格納されています。

  • form(上記)
  • checkbox
  • defaultFieldConstructor
  • input
  • inputDate
  • inputFile
  • inputPassword
  • inputRadioGroup
  • inputText
  • select
  • textarea

があります。

bootstrap 対応用に

@import helper.twitterBootstrap._

等もありますが、レイアウトを考えたいなら上記のテンプレート読んで CSS を書くか、それに準じた自己定義テンプレートの方が見栄えは良いかもしれません。

公式の
http://www.playframework.com/documentation/2.1.1/ScalaFormHelpers
Handling HTML input creation yourself

あたりが参考になります。