Playframework 将java映射传递给视图而不是表单好吗?
那么最佳实践呢?好吗?或者更好的方法是使用任何表单包装器查看传递模型?你怎么看?这实际上取决于你的用例。传递模型实例和封装在表单中的模型实例都有各自的优点 正如Kris指出的,拥有表单可以让您访问验证错误等等。 另一方面,使用模型实例直接从模型访问字段当然要简单得多 请不要只传递一些带有数据的映射(比如Playframework 将java映射传递给视图而不是表单好吗?,playframework,playframework-2.3,Playframework,Playframework 2.3,那么最佳实践呢?好吗?或者更好的方法是使用任何表单包装器查看传递模型?你怎么看?这实际上取决于你的用例。传递模型实例和封装在表单中的模型实例都有各自的优点 正如Kris指出的,拥有表单可以让您访问验证错误等等。 另一方面,使用模型实例直接从模型访问字段当然要简单得多 请不要只传递一些带有数据的映射(比如Map[String,Object])-如果你能处理对象,那么就这样做,这就是面向对象的思想 总之:如果模板处理表单操作(编辑、提交等)-请使用包装在表单中的模型。如果您只想显示一些数据或类似数据
Map[String,Object]
)-如果你能处理对象,那么就这样做,这就是面向对象的思想
总之:如果模板处理表单操作(编辑、提交等)-请使用包装在表单中的模型。如果您只想显示一些数据或类似数据,请抓取您的模型实例并将其提供给视图,而无需任何额外开销。另一个选项是使用standanlone HTML 5应用程序返回HTML页面,并使用play进行其他服务器端处理(访问数据库、控制业务逻辑等)
您可以在前端和后端之间获得更好的分离。我很难理解“使用任何表单包装器传递模型以查看”的含义。您可以将任何对象传递给render()方法。它可以是模型或表单(或DynamicForm)instanceRight。我同时使用纯模型和包装在表单中的模型。包装在表单中的优点是可以访问验证错误,例如
Form.globalErrors
中的全局错误。另一方面,使用纯模型时,模型的字段更容易访问:myModel.myField
与form(myField).value
相比,它看起来更干净一些。