我正在製作一個具有基本搜索功能的網站。查詢包含一些信息,所以我有一個case class Query
來包含搜索信息。可能有很多結果,所以我需要支持分頁。在Scala Play 2.0框架中搜索表單提交和分頁
這是處理表單提交的方法。我使用GET,因此頁面可以收藏。
GET /search controllers.Application.submit
def submit = Action { implicit request =>
searchForm.bindFromRequest.fold(
errors => BadRequest(views.html.index(errors)),
query => doSearch(query, 0))
}
問題來了,當我想支持分頁。我希望網址不會更改,並且只添加&page=i
參數。不過,我可能不想通過控制器上的submit
操作回來(但也許我在這裏錯了)。
我該如何提供這個?如果我有單獨的分頁路線,我可以通過Query
對象,還是需要分解所有參數?
我的想法是,我的分頁鏈接會去類似這樣的URL:
@{Application.search(query, pageNo)}
當然,我不能只是它提交到我的表單提交的行動,因爲它需要一個play.api.mvc.Request[play.api.mvc.AnyContent]
。