与RestyGWT的GXT

时间:2013-12-10 16:28:48

标签: gwt playframework gxt resty-gwt

我尽可能多地搜索,但没有找到任何问题的答案/示例。

我对Web UI开发完全陌生,但在Java和其他语言方面拥有十五年的经验。我似乎完全迷失在客户端可用选项的海洋中,但对于服务器端,我已经运行了Rest服务器(Play)。我不能并且不想为客户端和服务器使用完整的软件包b / c我想在服务器和客户端之间来回传递JSON。这样我就可以使用多个不同的客户端:web,Excel,Swing等。我想保持它的灵活性。

到目前为止,我几乎决定在客户端使用GXT,并发现RestyGWT位于中间位置。这就是我的问题所在。到目前为止,我还没有找到GXT + RestyGWT组合的单一示例。只有一个例子(例如一个Grid)会非常有用,因为我没有J2EE,bean或其中任何一个的经验。

非常感谢任何有关GXT + RestyGWT的帮助或示例!

2 个答案:

答案 0 :(得分:1)

你有什么尝试? RestyGWT是序列化和传输,所以理想情况下你需要根据你的小部件(网格?分页工具栏?过滤器?)设置一个描述你需要的加载器,然后传递一个知道如何获取配置对象的DataProxy实现,并异步发送后载数据对象。从服务器加载的每个网格示例使用加载程序,但使用不同的代理(以及可选的读取器),这取决于我们是否使用RPC,RequestFactory或XML / JSON over HTTP。还有一个JSONP示例,虽然它没有使用Grid,但它仍然将项目加载到ListStore,因此可以很容易地附加到网格。

DataProxy是一个简单的接口 - 它被赋予一个配置对象和一个在加载完成时调用的回调,或者在发生错误时通知它。在您的此接口实现中,使用配置的必要详细信息调用您的服务,然后在结果准备好时调用回调。

答案 1 :(得分:0)

如果您想了解RestyGWT如何工作的示例,您可以查看
one of my blog article。这是一个纯粹的GWT示例,但也应该与GXT一起使用。 GXT主要是关于GWT的图形组件。

你需要用2个字来

1)定义您的restServices接口

public interface HelloClient extends RestService {    
  @GET
  public void getHellos( MethodCallback<List<Hello>> callback);
}

2)创建您的客户

HelloClient client = GWT.create(HelloClient.class);

3)使用它

client.getHellos(new MethodCallback<List<Hello>>() {

    public void onSuccess(Method method, List<Hello> response) {
    //...
    }

    public void onFailure(Method method, Throwable exception) {
     //...
    }
  });