我正在尋找處理基於Web的應用程序工作方式的技巧/最佳實踐。JBoss Seam - 處理從SQL返回的大數據
目前,當用戶搜索一個字段時,它可以立即返回超過10000條記錄,這對我來說是浪費帶寬和內存。
有沒有辦法根據選擇要顯示的行數限制返回的行數。即如果在網頁上用戶每頁選擇100行,則僅返回100行而不是一次加載全部10000行,然後當下一頁被單擊時,下一100行數將被加載等等。
UPDATE:當前實現獲取所有數據,將其綁定到t:datatable
和t:dataScroller
以在頁面之間導航。
從我JFS 1.1有讀書是提供(糾正我,如果我錯了),並提供這樣的機制,我需要編寫自定義代碼沒有服務器端分頁,如http://wiki.apache.org/myfaces/WorkingWithLargeTables
有人可以確認這是是一個好的解決方案?使用RichFaces不是一種選擇。
感謝
感謝您的回覆。當前系統使用JSF標記'<%@ taglib uri =「http://java.sun.com/jsf/html」prefix =「h」%> <%@ taglib uri =「http://java.sun .com/jsf/core「prefix =」f「%>'和't:dataTable'因此使用EntityManager不會更好嗎?但閱讀關於如何使用EntityManager來對結果列表進行分頁的文章看起來有很多需要從BackBean類改爲jsp到導航規則。是否有一本書涵蓋了JBoss Seam(分頁,處理大型reuslt集......)的這一方面。我不覺得我足夠了解開始做出改變。 – ke3pup
此處沒有導航規則。您只需要一個支持外部數據源的JSF組件(就像rich:dataTable一樣)。不幸的是,MyFaces似乎不支持它。順便說一句,Richfaces是Seam支持最多的JSF庫之一。 –