2011-05-26 197 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。但是,我也没有得到这个工作。