0

这是取自文档的示例:

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

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

4

1 回答 1

1

anyData 只是显示必须如何填充 Map 以便由 userForm 处理并返回结果值元组 (String,Int) 以及名称和年龄。

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

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

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

val user: User = loginForm.bindFromRequest.get
于 2013-09-19T20:40:50.060 回答