2012-10-18 26 views
0

已經有幾個Play Framework分頁問題,​​但都使用JPA或ebean。我需要對從Web服務返回的數據進行分頁。有沒有辦法與Play分頁模塊做到這一點,或者我堅持使用jQuery?我也是新來玩和來自asp.net MVC的Java。 Web服務正在返回我正在查詢的任何模型的列表。Play Framework 2從Web服務分頁數據

回答

1

你不應該分頁從Play的控制器Web服務的結果,因爲這將不是最優的,考慮3個場景(按順序)

比方說,你想顯示一次10個項目,但你的發電機示例查詢(這意味着頁面10.000)返回100.000

  1. 分頁應該由數據生成器(在這種情況下,網絡服務)來完成,所以你應該發送的查詢方含數據:what are you looking forhow big page you want to getwhich page you need即:?q=pagination&size=10&page=123 。這將以第123頁上的10個項目列表做出響應。如果您有可能更改Web服務以添加分頁,那麼這是最佳選擇。
  2. 如果Web服務不提供分頁,請立即獲取所有結果並使用jQuery對其進行分頁。因此,如果您將獲得100.000個項目,將所有項目都放到客戶端,並確保每次更改頁面都不會導致查詢Web服務。可憐的選擇,但仍然比下一個更好。
  3. 您可以迭代返回的結果,以便輕鬆地將其拆分爲頁面,計算總金額等等。如果您將使用控制器進行分頁,則在每次更改頁面時,它將獲取100.000個項目,然後拆分爲僅顯示其中10個。戲劇:)

因此,如果你不能使用第一個選項,不想使用jQuery在你的服務器上做一些緩存的結果(即通過將結果作爲單獨的行存儲在數據庫中) - 在這種情況下,您將能夠使用Ebean進行本地搜索和分頁。