6

假设我有两个控制器方法:Users.preInsert 和 Users.insert。preInsert 方法用于显示用户输入表单 (GET),而 insert 方法负责实际插入 (POST) 或调用“插入”服务。这是路线的样子:

GET    /users/add                           controllers.Users.preInsert(...)
POST    /users/add                           controllers.Users.insert(...)

那么如何在不丢失插入服务返回的错误消息和客户端输入的值等参数的情况下重定向请求(POST 到 GET),以便在输入表单中访问和显示它们。参数可能涉及一些复杂的对象。我已经使用缓存 API 实现了它,但我想知道是否有更好的方法来实现它。

4

2 回答 2

3

这就是对象的确切用途Formhttp://www.playframework.com/documentation/2.1.1/ScalaForms)。

我认为你的 有一个错误routes,它可能看起来像:

GET    /users/add                           controllers.Users.preInsert(...)
POST   /users/add                           controllers.Users.insert(...)

您应该明确地查看表单示例

于 2013-09-14T12:36:58.607 回答
0

您不需要将其重定向回preInsert操作,而是在insert检查表单的开头是否有错误并且它已显示包含表单的视图(与您在 中使用的相同preInsert)。在处理绑定失败一节中 nico_ekito 提到的文档中对此进行了描述

于 2013-09-14T16:46:10.560 回答