Java Play Framework 2从web服务分页数据

Java Play Framework 2从web服务分页数据,java,playframework,playframework-2.0,Java,Playframework,Playframework 2.0,有几个Play框架分页问题,但都使用了JPA或ebean。我需要对从web服务返回的数据进行分页。有没有一种方法可以通过播放分页模块实现这一点,还是我一直使用jQuery?我还不太熟悉asp.NETMVC的游戏和Java。Web服务正在返回我正在查询的任何模型的列表。 < P>不应该将Play中的Web服务的结果分页,因为它不是最佳的,考虑3个场景(按顺序) 假设您希望一次显示10个项目,但生成器返回100.000个示例查询(这意味着10.000个页面) 分页应该由data generator(

有几个Play框架分页问题,但都使用了JPA或ebean。我需要对从web服务返回的数据进行分页。有没有一种方法可以通过播放分页模块实现这一点,还是我一直使用jQuery?我还不太熟悉asp.NETMVC的游戏和Java。Web服务正在返回我正在查询的任何模型的列表。

< P>不应该将Play中的Web服务的结果分页,因为它不是最佳的,考虑3个场景(按顺序)

假设您希望一次显示10个项目,但生成器返回100.000个示例查询(这意味着10.000个页面)

  • 分页应该由data generator(在本例中为web服务)完成,因此您应该发送一个包含数据的查询:
    您在寻找什么
    您希望获得多大的页面
    ,以及
    您需要哪个页面
    ,即:
    ?q=Pagination&size=10&page=123
    。这将在第123页上列出10项。如果您有可能更改web服务以添加分页,那么这是最好的选择
  • 若web服务不提供分页,那个么立即获取所有结果并使用jQuery对其进行分页。因此,如果您将获得一组100.000个项目,请将它们全部放在客户机上,并确保每次页面更改都不会导致查询web服务。糟糕的选择,但仍然比下一个好
  • 您可以迭代返回的结果,以便轻松地将其拆分为页面、计算总金额等。如果您使用controller对其进行分页,则每次页面更改时,它将获取100.000个项目,然后拆分为仅显示其中10个项目。戏剧:)
  • 因此,如果您不能使用第一个选项并且不想使用jQuery,请在服务器上对结果进行一些缓存(即,通过将结果存储在数据库中作为单独的行),在这种情况下,您将能够使用Ebean进行本地搜索和分页