我在返回一个通过 RPC 实现 IsSerialized 的对象的 ArrayList 时遇到了很大的麻烦。 IsSerialized 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;
}
}
非常感谢您的帮助!涡流
这可能听起来很愚蠢,但是您的代码中是否有 Test 的默认构造函数,而不仅仅是您在此处发布的代码版本?我遇到了同样的错误,用谷歌搜索了它,尝试了这里的一些建议,例如清理/重建,添加serialVersionUID,但没有一个起作用。然后我进行了更多搜索并找到了一个建议,以确保您尝试序列化的类具有默认构造函数。我的没有,当我添加一个后,它就起作用了。我不知道为什么会解决这个问题,但它确实解决了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)