0

Play フレームワークのページネーションに関する質問がいくつかありましたが、すべて JPA または ebean を使用しています。Web サービスから返されるデータをページ分割する必要があります。Play Pagination Module でこれを行う方法はありますか、それとも jQuery にこだわっていますか? 私もプレイするのが初めてで、Javaはasp.net MVCから来ています。Web サービスは、クエリ対象のモデルのリストを返します。

4

1 に答える 1

1

PlayのコントローラーでWebサービスの結果をページ分割しないでください。最適ではないため、3つのシナリオを(この順序で)検討してください。

一度に10個のアイテムを表示したいが、ジェネレーターがサンプルクエリに対して100.000(つまり、10.000ページ)を返すとします。

  1. ページ付けはデータジェネレーター(この場合はWebサービス)で行う必要があるため、data:what are you looking for、ie:how big page you want to getを含むクエリを送信する必要があります。これは、123ページの「10項目のリスト」で応答します。Webサービスを変更してページ付けを追加する可能性がある場合は、それが最善の選択です。which page you need?q=pagination&size=10&page=123
  2. Webサービスがページ付けを提供しない場合は、すべての結果を一度に取得し、jQueryを使用してページ付けします。したがって、100.000アイテムのセットを取得する場合は、それらすべてをクライアントに配置し、すべてのページ変更によってWebサービスへのクエリが発生しないようにしてください。貧弱なオプションですが、それでも次のオプションよりも優れています。
  3. 返された結果を繰り返して、ページに簡単に分割したり、合計金額をカウントしたりできます。ページ付けにコントローラーを使用する場合、ページを変更するたびに100.000アイテムがフェッチされ、分割して10個だけが表示されます。 。ドラマ:)

したがって、最初のオプションを使用できず、jQueryを使用したくない場合は、サーバーに結果をキャッシュします(つまり、結果を個別の行としてデータベースに保存します)。このような場合は、次を使用できます。ローカル検索とページング用のEbean。

于 2012-10-19T06:49:28.533 に答える