【发布时间】:2010-05-19 02:00:07
【问题描述】:
我有一段时间返回一个通过 RPC 实现 IsSerializable 的对象的 ArrayList。 IsSerializable pojo 包含一个变量,一个字符串,并且有一个参数为 0 的构造函数。我已经从我的战争中删除了 .gwt.rpc 文件,但我仍然得到:
com.google.gwt.user.client.rpc.SerializationException: Type 'com.test.myApp.client.model.Test' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = com.test.myApp.client.model.Test@17a9692
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:610)
我正在使用 GWT 2.0.2 和 jdk 1.6.0_18。
对可能发生的事情或我做错了什么有任何想法?
这是 Test 类的代码,远程方法返回 ArrayList。我什至修改了它的代码,只返回一个具有相同结果的 Test 实例:上面的异常。
package com.test.myApp.client.model;
import com.google.gwt.user.client.rpc.IsSerializable;
public class Test implements IsSerializable{
private String s;
public Test() {}
public Test(String s) {
this.s = s;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
}
非常感谢您的帮助!涡流
【问题讨论】:
-
可以发布client.model.Test的代码吗?
-
可能 Test 类中的实例字段之一是不可序列化的。发布代码以获得更多帮助。
-
您是否将远程服务方法声明为返回 ArrayList
?如果您只是声明 ArrayList,那么 GWT 将不知道您将需要序列化 Test。正如上述评论者建议的那样,发布代码。 -
我验证过了,Test类没有出现在.gwt.rpc文件中。
标签: serialization gwt