使用RequestFactoryEditorDriver动态更新

时间:2011-02-28 17:25:20

标签: gwt editor requestfactory

我有一个文本字段,我想在用户输入时定期保存。我想将它挂钩到我现有的RequestFactoryEditorDriver框架中,但我想不出这样做的方法。麻烦的是,我必须等待所有driver.flush().fire()次调用返回,然后再次调用edit(),因此在此期间数据将无法编辑。

到目前为止,我最好的解决方案是在代理上方创建一个完整的层。它会等到它即将保存,然后编辑代理,复制更改并保留代理,但此时我失去了编辑框架的大部分好处。有没有人有更好的想法?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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