0

我正在将 gwt 与 gwt-platform 一起使用,并使用调度异步进行服务器调用。我遇到的问题是我正在使用的操作没有被标记为可序列化或被添加到 *.gwt.rpc 文件中。当我的代码运行时,我得到一个

com.google.gwt.user.client.rpc.SerializationException 在 com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:153) 在 com.google.gwt.user.client.rpc .impl.SerializerBase.serialize(SerializerBase.java:125) 在 com.google.gwt.user.client.rpc.impl.ClientSerializationStreamWriter.serialize(ClientSerializationStreamWriter.java:183) 在 com.google.gwt.user.client.rpc .impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:126) 在 com.gwtplatform.dispatch.shared.DispatchService_Proxy.execute(DispatchService_Proxy.java:33) 在 com.gwtplatform.dispatch.client.DefaultDispatchAsync.serviceExecute(DefaultDispatchAsync.java:126 ) 在 com.gwtplatform.dispatch.client.DefaultDispatchAsync.execute(DefaultDispatchAsync.java:...

那个行动:

public class FindCallsWithFilterAction extends UnsecuredActionImpl<FindCallsWithFilterResult> {

public FindCallsWithFilterAction() {

}

public Date getAfter() {
    return after;
}
public Date getBefore() {
    return before;
}
public Long getReferenceNumber() {
    return referenceNumber;
}
public String getUser() {
    return user;
}

public void setAfter(Date after) {
    this.after = after;
}
public void setBefore(Date before) {
    this.before = before;
}
public void setReferenceNumber(Long referenceNumber) {
    this.referenceNumber = referenceNumber;
}
public void setUser(String user) {
    this.user = user;
}

public boolean hasAfter(){
    return null != after;
}
public boolean hasBefore(){
    return null != before;
}
public boolean hasReferenceNumber(){
    return null != referenceNumber;
}
public boolean hasUser(){
    return null != user;
}


private Date after = null;
private Date before = null;
private Long referenceNumber = null;
private String user = null;

}

动作有结果和处理程序,处理程序绑定在我的服务器模块中。当我调试代码并查看 gwt 生成此操作的序列化映射时,尽管它实现了 isSerializable 接口,但它的结果不存在事件(在超类中,如果我在此使用 Serializable 或 isSerializable 它仍然不起作用水平)。此外,当我查看我的 *.gwt.rpc 文件时,该类也不在其中。我只是被困住了,希望有人知道该做什么或出了什么问题。

更新:我不知道它是否相关,但我在服务器上使用 spring。

4

1 回答 1

3

我发现了我的问题。我忘记了 Result 对象中的无参数构造函数,而且我正在使用 Builder 来创建我的操作,并且由于某种原因,一旦我停止使用 Builder 模式,一切都会顺利运行。

于 2012-08-23T12:41:42.617 回答