2011-05-26 191 views
1

我找不到有關如何異步更新對象vaadin的文檔。誰能幫我?我需要的是渲染一個表格,然後用一個調用來更新列的值,而不是太慢,所以我想讓它變成異步的。異步請求vaadin

回答

3

這個已經討論了很多關於Vaadin的這個thread論壇。您可能需要閱讀它,它包含大量有用的信息。

+0

你沒有用處,至少你必須把鏈接 – 2011-08-22 14:01:15

1

只要在另一個線程中進行更新。來自後臺線程的UI修改必須與應用程序對象同步。添加icepush,複習或proggresbar從服務器到客戶端的變化。

1

據我所知,Vaadin提供了兩個附件來解決這個問題:ServerPushDontPush。這兩個附加組件都可以通過maven導入,並且都支持WebSocket以及不帶WebSocket支持的瀏覽器後備解決方案。儘管ServerPush提供的看起來比DontPush更多的功能,但它的評分低於DontPush,可能是因爲它比較複雜。

對於推送更新到客戶端DontPush提供了一個非常簡單的解決方案,不需要對Web應用程序進行任何更改。只有web.xml中的servlet類需要被替換爲org.vaadin.dontpush.server.impl.jetty.DontPushServlet,然後必須通過mvn vaadin:update-widgetset更新小部件集。就這樣。服務器上的任何更改都會自動推送到客戶端。我成功通過Chrome 14測試了這個附加組件。不幸的是,我無法使用它與Firefox 7配合使用。

根據ServerPush的網頁,ServerPush附加組件也應提供此功能。但是,我無法弄清楚如何設置ServerPush以使用jetty。而且,它的使用似乎更加複雜。它需要對web.xml進行一些更改以及氣氛服務器的其他配置文件。

與DontPush相比,ServerPush還提供了一個明確的推送機制,它允許通過調用預先添加到主窗口的某個推送器組件的push()方法來手動更新GUI。但是,我也沒有得到這個工作。