我正在制作一个具有基本搜索功能的网站。查询包含一些信息,所以我有一个case class Query
包含搜索信息。可能会有很多结果,所以我需要支持分页。
这是处理表单提交的方法。我使用 GET,所以该页面是可收藏的。
GET /search controllers.Application.submit
def submit = Action { implicit request =>
searchForm.bindFromRequest.fold(
errors => BadRequest(views.html.index(errors)),
query => doSearch(query, 0))
}
当我想支持分页时,问题就来了。我希望 URL 不改变,只&page=i
添加一个参数。但是,我可能不想回到submit
控制器上的操作(但也许我在这里错了)。
我怎样才能提供这个?如果我有单独的分页路线,我可以传递Query
对象还是需要分解所有参数?
我的想法是,我的分页链接将转到类似于此的 URL:
@{Application.search(query, pageNo)}
当然,我不能只将它提交到我的表单提交操作,因为它需要一个play.api.mvc.Request[play.api.mvc.AnyContent]
.