GWT 中什么是可序列化的或不可序列化的?

发布于 2024-10-24 17:15:40 字数 384 浏览 4 评论 0原文

我的 GWT 项目中有这个简单的对象。我无法通过电汇发送它。在这样的类中放置构造函数是不可能的吗?

public class MceDto implements IsSerializable {
    public MceDto(String uri, String tag) {
        this.uri = uri;
        this.tag = tag;
    }

    public String uri;

    public String tag;

    public Date created;
}

我检查了 *.gwt.rpc 策略,该对象不存在,这意味着它不可序列化或其他东西。我怎样才能事先知道是否可以序列化对象?

谢谢

I have this simple object in my GWT project. I cannot send it over the wire. Is it impossible to put a constructor in such a class?

public class MceDto implements IsSerializable {
    public MceDto(String uri, String tag) {
        this.uri = uri;
        this.tag = tag;
    }

    public String uri;

    public String tag;

    public Date created;
}

I checked the *.gwt.rpc policy and the object is not there meaning it is not serializable or something. How can I know beforehand if it is possible to serialize the object?

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓦然回首 2024-10-31 17:15:40

您使用什么版本的 GWT?

IsSerialized 接口是 GWT 1.4 之前版本的遗迹。您是否尝试过使用 Java 标准 java.io.Serialized 标记接口?

有关详情,请参阅此 GWT 常见问题解答


根据 GWT 序列化文档

如果满足以下所有条件,则用户定义的类是可序列化的:

  1. 可分配给 IsSerializable可序列化,要么是因为它直接实现了这些接口之一,要么是因为它派生自具有以下功能的超类
  2. 所有非final、非transient实例字段本身都是可序列化的,并且
  3. 从 GWT 1.5 开始,它必须有一个默认(零参数)构造函数(带有任何访问修饰符)或根本没有构造函数。

因此,您必须为您的类提供一个无参数构造函数,以便 GWT 可序列化。

What version of GWT are you using?

The IsSerializable interface is a vestige of GWT pre-1.4. Have you tried using the Java-standard java.io.Serializable marker interface?

See this GWT FAQ for more.


As per the GWT serialization docs:

A user-defined class is serializable if all of the following apply:

  1. It is assignable to IsSerializable or Serializable, either because it directly implements one of these interfaces or because it derives from a superclass that does
  2. All non-final, non-transient instance fields are themselves serializable, and
  3. As of GWT 1.5, it must have a default (zero argument) constructor (with any access modifier) or no constructor at all.

So you must provide a no-arg constructor for your class to be serializable by GWT.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文