我发现最通用的命令序列是
void start() { // Either get p context1.get(..).to( new Receiver<P> { onSuccess(P resp){p = resp;} ... }).fire(); // OR create p p = context2.create( P.class ); // Then save p req = context2.persist(p).to( new Receiver<P>{ onViolation(...) { }; onFailure( error ) { error.getMessage() }; onSuccess(X x) { }; } ); // drive editor with p driver.edit( p, req); }....void onSave() { // editor ctxt = driver.flush() if ( driver.hasErrors() ) { }; // RF ctxt.fire();}根据下面的对话摘录, 网址 为
http://groups.google.com/group/google-web-
toolkit/browse_thread/thread/da863606b3893132/96956661c53e1064?hl=zh-
CN
Thomas Broyer onFailure应该包含您在服务器端抛出的异常的getMessage()。
您可以通过向RequestFactoryServlet提供自己的ExceptionHandler来对其进行调整(扩展它并使用其带有ExceptionHandler的构造函数)。
仅当您的实体未通过JSR-303 Bean验证时才调用onViolation,该验证在调用任何服务方法之前进行检查。
如果要“捕获”故障代码中的故障,则必须为persist()服务方法添加一个Receiver:
context.persist(p).to(new Receiver…



