我正在使用Scala 2.10和Playframework 2.2.1
让我们假设以下路由:
GET /users/page/:page/limit/:limit controllers.Users.showUsers(page: Int, limit: Int)
我想要添加一个带有GET
方法和几个字段的搜索表单,同时还要添加一些分页。例如,在表单提交后,url将如下所示:
http://example.com/users/page/1/limit/20?login=someLogin&email=
为避免在分页代码中硬编码url,我在我的模板中使用反向路由,例如@routes.Users.showUsers(currentPage, limit)
。是否可以在结果url中也添加GET参数,而不需要像在模板中通过Form
的fold
等丑陋的代码呢?
Form
时,如果在showUsers
中使用隐式的bindFromRequest
变体,则无需手动将登录和电子邮件字段放入routes.conf和showUsers
中。 假设我的表单中有22个字段。 在routes.conf中有22个参数,在showUsers中也有22个参数。 这有点可怕。 - Sergey KolbasovForm
或者json作为请求体。无论哪种方式,你都需要折叠请求体。这并不被认为是丑陋的,它是处理错误的一种好方法。还有其他提取参数的方法,但那些方法要丑陋10倍。根据你所描述的,我还不知道足够多的信息。 - Michael ZajacForm
来处理22个参数,并将这些参数添加到分页的href中,而不需要折叠等操作,只需使用反向路由或其他简单的方式即可。但似乎这是不可能的。 - Sergey Kolbasov