Gwt 使用RequestFactoryEditorDriver动态更新

Gwt 使用RequestFactoryEditorDriver动态更新,gwt,editor,requestfactory,Gwt,Editor,Requestfactory,我有一个文本字段,希望在用户键入时定期保存。我想把它挂接到我现有的RequestFactoryEditorDriver框架中,但我想不出一种方法来实现。问题是,在再次调用edit()之前,我必须等待所有driver.flush().fire()调用返回,因此在此期间数据将无法编辑 到目前为止,我最好的解决方案是在代理上创建一个完整的层。它将等待,直到它即将保存,然后编辑代理,复制更改,并持久化代理,但在这一点上,我失去了编辑器框架的大部分好处。有谁有更好的想法吗?我打赌在较低的层次上解决这个问题

我有一个文本字段,希望在用户键入时定期保存。我想把它挂接到我现有的RequestFactoryEditorDriver框架中,但我想不出一种方法来实现。问题是,在再次调用
edit()
之前,我必须等待所有
driver.flush().fire()
调用返回,因此在此期间数据将无法编辑


到目前为止,我最好的解决方案是在代理上创建一个完整的层。它将等待,直到它即将保存,然后编辑代理,复制更改,并持久化代理,但在这一点上,我失去了编辑器框架的大部分好处。有谁有更好的想法吗?

我打赌在较低的层次上解决这个问题不会太难。例如,在RequestFactory本身周围放置一个包装器,使所有void返回同步地发出回叫,假设99%的时间它们真的会成功

我认为另一件事是可行的,并且可能不会比Ray的回答涉及更多的工作(实际上可能更少):不要编辑要保存的对象,而是它的一个副本(使用
RequestContext.create()
)创建),在编辑之前创建一个副本,然后刷新并复制回bean(在另一个
RequestContext
)中)启动之前。 但是,这假定不会有并发编辑,因为与服务器的异步通信(用户可以继续编辑,如果其他人同时编辑同一对象,则必须检测并解决“冲突”)。
要进行复制,请使用
AutoBeanUtils.getAutoBean
从RF代理中取出bean,然后使用
AutoBeanVisitor
访问所有属性并将其值复制到另一个代理/autobean中。

如果可以快照或分支RequestContext并激发()分支RC,这会给你你想要的行为吗?那太好了。然后
RequestFactoryEditorDriverWithBranching
可以处理这个问题,我可以调用
driver.flush().fire()
一次又一次。现在很难制作一个好的定期保存的
编辑器,因为需要对驱动程序进行所有的摸索——特别是当我试图让演示者中的驱动程序远离视图时!有趣的想法是——我可以访问框架的足够部分来做到这一点,而不必打扰t谷歌代码?为了解决另一个问题,我重写了一些
CellTable
,但当我想升级到2.2时被烧掉了,我的重新实现再也不能适应了。RequestFactory比cell的东西更难阅读,因为编译时生成了多少内容——我在Eclipse中可靠的F3按钮不起作用:(Re:你的手机资料,补丁总是受欢迎的:。[嘎,点击save太早了。真不敢相信回车键能做到这一点。更多信息请访问com]