我有一個簡單的POJO,它有一些屬性,其中一個是枚舉。這工作得很好,但是當我將枚舉屬性更改爲枚舉列表時,GWT給了我一個序列化異常「無法反序列化響應」。GWT:枚舉拋出列表「無法反序列化」
這工作:
public class Report implements Serializable, Comparable<Report> {
private static final long serialVersionUID = 1L;
private long id;
//some more attributes, all serialize fine
private ReportCategory category; // the enumeration
public ReportSVO(){
}
//.. generated getters and setters
}
當我改變了private ReportCategory category;
到private List<ReportCategory> categories;
我得到了(反)序列化異常。
從預感中,我改變了枚舉爲一個內部類:(public enum ReportCategory{...}
到public class ReportCategory{ private Name categoryName; public enum Name{...}}
)和魔術一樣,它的工作原理。 此問題導致我有兩個問題:
- 這是一個GWT錯誤?或者我錯過了什麼?
- 有沒有更好的方法來解決這個問題?
枚舉本身不應該是一個問題,因爲它之前工作(和枚舉可以默認序列化)。另外,當我忘記其他GWT類的無參數構造函數或具有不可序列化屬性時,序列化異常消息如下所示:「com.google.gwt.user.client.rpc.SerializationException:Type'...'不包括在該組的類型,可以通過這個SerializationPolicy被序列化。」
我使用GWT 2.4