gpt4 book ai didi

scala - Scala Play 2.0 Framework 中的搜索表单提交和分页

转载 作者:行者123 更新时间:2023-12-04 05:47:14 27 4
gpt4 key购买 nike

我正在制作一个具有基本搜索功能的网站。查询包含一些信息,所以我有一个 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 回到过去。 Controller 上的操作(但也许我在这里错了)。

我怎样才能提供这个?如果我有单独的分页路线,我可以通过 Query对象还是我需要分解所有参数?

我的想法是我的分页链接将转到类似于此的 URL:
@{Application.search(query, pageNo)}

当然,我不能只将它提交给我的表单提交操作,因为它需要 play.api.mvc.Request[play.api.mvc.AnyContent] .

最佳答案

如果您创建自己的 QueryBinders,则可以传递 Query 对象.您可以查看 the ones in Play看看怎么做。请记住将您的对象(带有隐式 QueryBinders 的对象)添加到变量 routesImport在您的 Build.scala文件。

另一种选择是遵循计算机示例的分页(在 Play Framework 版本的 samples 文件夹中),它使用 GET 请求和一些参数在页面之间移动。

关于scala - Scala Play 2.0 Framework 中的搜索表单提交和分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10520372/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com