gwt中的序列化问题

时间:2011-08-30 19:24:48

标签: java gwt

我读过:

GWT serialization issue

但没有解决方案。

我的包裹是:

包gwt.web package gwt.web.client; 等...

我有包模型

我的班级'models.Word'位于哪里

正如你所看到的,这个类不是int gwt.cleint,但它不应该存在,它不是客户端类。

这个类有默认构造函数,所以这不是问题。

我有例外:

  

服务方法'public abstract java.util.List   gwt.web.client.WordService.getWords(java.lang.String)'扔了一个   意外异常:   com.google.gwt.user.client.rpc.SerializationException:Type   'models.Word'不包括在可以的类型集中   由此SerializationPolicy序列化或其Class对象不能   加载。出于安全考虑,此类型不会被序列化:   instance = Word [null]

在我的App.gwt.xml中:

<!-- Specify the paths for translatable code                    -->
<source path='models'/>

所以这对我的班级有所帮助。所以,它也不应该是问题。

问题:如何处理?我需要使用我的模型类来通过服务传递ajax。

我的类是可序列化的(实现该接口)。

这个类是我的代码的一部分。 RPC中使用的这个类:

@RemoteServiceRelativePath("wordServiceImpl")
public interface WordService extends RemoteService {
    public List<Word> getWords(String langCode);
}

1 个答案:

答案 0 :(得分:1)

要记住的一件事是,如果不需要,GWT会优化并不会序列化所有类。

如果您的类不是任何RPC调用的一部分(即RPC调用中使用的类没有此类对象作为数据成员),GWT将不会序列化此类,因为它假定它不需要。

你的代码是这种情况吗?在这种情况下,只需将此类的伪数据成员添加到RPC

中使用的类