2011-09-01 50 views
0

我执行使用MVP模式GWT应用程序。 在演示者中,我使用setData(Object)方法将数据(模型)从RPC服务发送到视图。GWT MVP最佳实践模型数据传递给视图

private void getmaterialTypes(final String formType) { 
    new RPCCall<List<MaterialType>>() { 

     public void onFailure(Throwable arg0) { 
      Window.alert("Error : unsuccess..."); 
     } 

     public void onSuccess(List<MaterialType> result) { 
      display.setData(result, "MaterialType"); 
      Window.alert("Success Getting Material Types !"); 
     } 

     @Override 
     protected void callService(AsyncCallback<List<MaterialType>> cb) { 
      materialTypeService.findMaterialTypesByFormType(formType, cb); 
     } 
    }.retry(3); 
} 

当从一个服务只传递一个对象或列表时,这将是完美的。发送不同服务返回的多个不同对象的最佳做法是什么?

回答

0

我写了一个简单的类,跟踪多个服务请求,而当所有的人都已经完成触发回调。然后,你可以调用display.setData(thing1,thing2,thing3)等。我喜欢这个,因为后来我显示的代码可以直接显示,而不必担心在不同时间到达的数据单“载入中...”的消息。或者,如果你的显示器能够理解它可能不能一次获得所有的数据,你可以在你接收到thing1时调用display.setDataType1(thing1),当你接收到thing2时调用display.setDataType2(thing2)等。

+0

第一种方法似乎更好,因为它会确保所有asynchronus数据被取出,但目前还不清楚如何实现,你可以pleae提供样品或伪代码? –