簡體   English   中英

Backoffice Java客戶端框架-Deman上的負載

[英]Backoffice java client framework - load on deman

我們正在為中型后台應用程序構建新的下一代服務器。 我們已經決定要在客戶端使用Java框架(gwt \\ vaadin \\ zkoss)

我們現在想要的是為每種技術創建一個概念證明示例。

我們的后台用戶界面非常標准,我們有帶有過濾器的表\\網格,這些過濾器應直接顯示來自數據庫的條目。

問題是我們每個表中都有大量的行(最少1M),這意味着我們必須為它們使用按需負載表。

我的問題是:如何為大表實現按需負載表? 我環顧四周,一次又一次看到以下概念:

創建一個容器,然后用數據填充它,數據將顯示在客戶端。

問題是我嘗試過這種幼稚的方法來用1M條目填充容器,這太糟糕了。 有內置的按需容器嗎?

任何代碼示例\\引用都會有很大的幫助!

您可能想要使用具有AsyncDataProvider GWT單元表 ,該使您可以通過從服務器中獲取數據來處理用戶的分頁和排序事件。

它還提供了一個替代的ListDataProvider ,它使您可以將數據作為對象列表獲取,然后將其設置到表中。 如果使用ListDataProvider ,則必須定義如何使用Comparator對對象進行排序,並且table將根據該列表進行排序和分頁。

Google的“ gwt celltable asyncdataprovider示例”提供了更多示例和教程。

Vaadin有一個很好的概念,可以在大多數組件中延遲加載數據。 例如表,列表,下拉列表等具有該概念。

開始時,您真正需要知道的唯一一件事是總行數。 然后可以“按需”處理其他所有內容。

例如,表組件最初僅加載約30行(可以自定義),然后根據需要獲取行。 (或者更好的是,它們通常在用戶滾動到下一行之前獲取)

這個演示就是一個例子

http://demo.vaadin.com/dashboard/#!/transactions

您如何從后端檢索數據取決於所使用的技術。 但是,vaadin具有工作概念,您無需全部加載1mio。 將行存儲到內存中,因為需要顯示行,所以它將處理“按需獲取”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM