有关如何使用 Play 2.1 表单绑定映射复杂对象的说明



这是从文档中获取的示例:

import play.api.data._
import play.api.data.Forms._
case class User(name: String, age: Int)
val userForm = Form(
  mapping(
    "name" -> text,
    "age" -> number
  )(User.apply)(User.unapply)
)
val anyData = Map("name" -> "bob", "age" -> "18")
val user: User = userForm.bind(anyData).get

地图实例(名为 anyData)在这里做什么?我的意思是。。。它是否用作为用户提供默认值的一种方式(以防表单完成的映射失败)?还是有其他目的?

anyData 只是显示必须如何填写 Map 才能由 userForm 处理并返回带有名称和年龄的结果值元组(String,Int)。

该表单从地图生成一个元组,这些行仅显示如何执行此操作。

val anyData = Map("name" -> "bob", "age" -> "18")
val user: User = userForm.bind(anyData).get

在实际应用程序上,您将通过执行以下命令从包含 HTML 表单中填写的数据的请求中隐式获取映射:

val user: User = loginForm.bindFromRequest.get

最新更新