在客户端使用外部库类:GWT

时间:2013-10-07 13:00:39

标签: java gwt

我想在GWT应用程序中使用Solrj库。我创建了一个GWT服务器类来与Solrj客户端通信。我的客户端代码从服务器类获取Collection<FacetField>并构建UI。

我的问题是GWT抱怨缺少源代码:

No source code is available for type org.apache.solr.client.solrj.response.FacetField; did you forget to inherit a required module?

我可以为Solrj创建一个额外的模块,然后GWT将它编译为JS。但它会编译很多其他类,我可能永远不会在客户端上使用它。

另一种方法是编写一些Solr类的包装器并将它们传递给客户端。但我不确定,因为这些包装器将导入Solr类,我可能会再次遇到同样的问题。

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

写一些DataLorry(虚拟对象)

server|| FacetField obj==>DataLorry obj==> client.

将所需数据刷新到DataLorry对象。

即使您在客户端和服务器之间节省了大量数据流量,因为您只传递了所需的数据。

确保该对象为serializable并位于shared包中。