2012-06-14 3 views
0

Подробности: Я думаю, что возвращаю неверный список объектов из rpc. Я думаю, что его Тип, который не может быть сериализован .. кто-нибудь знает способ Сериализовать его? или некоторые работают вокруг?GWT serializable Object

я получил класс, который не может получить сериализации я получаю следующее исключение: причина:"com.google.gwt.user.client.rpc.SerializationException: Type 'gwt.client.objects.NamedObject' 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 = [email protected]"

Это исходный код класса «NamedObject», где это все, о котором я возвращаюсь Список выключен.

public class NamedObject<T> implements Serializable { 
    private String name; 
    private T object; 

    public void setNamedObject(String name, T object){ 
    setName(name); 
    setObject(object); 
    } 
    public String getName() { 
     return name; 
    } 

    public Object getObject() { 
     return object; 
    } 
} 

ответ

1

Ваш параметр объекта имеет тип T, который может быть чем угодно и, в частности, что-то, что GWT не знает, как сериализоваться.

Вы могли бы попробовать это

public class NamedObject<T extends IsSerializable> implements Serializable { 
... 
} 

Хотя я не уверен, что будет работать. Если нет, то вы, вероятно, придется создать несколько классов для каждого типа, что T может быть:

public class StringNamedObject implements Serializable { 
    private String name; 
    private String object; 
} 

public class DateNamedObject implements Serializable { 
    private String name; 
    private Date object; 
} 

.... 
+0

Спасибо за ответ, но я уже нашел обходной путь – Ben

+0

Я принимаю его, когда оно подтверждено. Итак, когда он получил свой первый +1 – Ben

Смежные вопросы