我在GWT应用程序的客户端中有一个枚举,当我尝试运行它与序列化问题相关时,我收到异常.我做错了吗我读过这个枚举是由GWT支持的,我使用的是最后一个版本.

枚举:

public enum AnEnum implements Serializable {

    ITEM_A("Item a description"),ITEM_B("Item b description");

    private String description;

    private AnEnum(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

}

例外:

Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(UnkNown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(UnkNown Source)
    at java.lang.reflect.Method.invoke(UnkNown Source)
    at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer(ServerSerializationStreamWriter.java:742)
    ... 47 more
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type '(...).client.(...).AnEnum' 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 = ITEM_A
    at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:610)
    at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)
    at com.google.gwt.user.client.rpc.core.java.util.Collection_CustomFieldSerializerBase.serialize(Collection_CustomFieldSerializerBase.java:43)
    at com.google.gwt.user.client.rpc.core.java.util.LinkedList_CustomFieldSerializer.serialize(LinkedList_CustomFieldSerializer.java:36)
    ... 52 more

解决方法

添加IsSerializable接口,一个默认范围的无参数构造函数,并确保其在gwt.xml文件中的源代码中列出的路径之一. < source path =“client”>

我真的认为第三个建议是问题;我记得以前有这个问题,这是因为我在源路径之外有一个dto.

您可以有多个源代码.

<source path="common" />
<source path="client" />

一种模式是将持久化对象直接放在com.mysite.common下,以及通过com.mysite.common.dto通过电线传输的持久化项的混搭,当然客户端gui代码在客户端.

package com.mysite.client;

import java.io.Serializable;

import com.google.gwt.user.client.rpc.IsSerializable;

public enum AnEnum implements Serializable,IsSerializable {

    ITEM_A("Item a description"),ITEM_B("Item b description");

    private String description;

    AnEnum() {
    }

    AnEnum(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

}

java – GWT和枚举的问题的更多相关文章

  1. ajax – 将spring 3 mvc与GWT集成的经验?

    鉴于:Spring3.0mvc具有优秀的REST支持,其中一个表示形式是JSON。>默认GWT的MVP体系结构只适用于客户端,并且可以很好地与JSON一起工作吗?谢谢可以分享使用Spring3.0mvc与GWT的经验吗?我们已经在GWT和SpringMVC成功构建了一个全面的大型应用程序。Spring是项目成功的关键。只有在Spring中,我们才能在服务器端单独测试一些应用程序。忽略GWT使用的默认Servlet,并创建自己的Spring控制器来处理传入的GWT-RPC请求。如果您遵循指南,GWT的MVP

  2. 用于重AJAX Java应用程序的最佳服务器端框架

    有7万个JavaWeb应用程序框架.95%是在现代AJAX/DHTML开发之前设计的,这意味着这些新方法被嫁接而不是设计.有没有任何框架从头开始构建,例如.GWT+Extjs在想?如果不是,哪个框架最适合于具有动态数量的字段和页面的形式的世界,变形客户端?

  3. ajax – 会话管理在gwt

    我正在使用GWT作为我的客户端应用程序.但是,我不知道如何处理会话管理.GWT应用程序位于一个页面上,所有服务器调用都通过AJAX完成.如果会话在服务器上过期.我们假设用户没有关闭浏览器,并使用RPC向服务器发送一些请求,我的服务器如何通知应用程序会话已过期,客户端部分应该再次显示登录屏幕?

  4. ajax – 在GWT中点击?

    我正在使用GWT构建一个AJAXWeb应用程序,我想使用右键单击各种内容,就像在桌面应用程序中一样.但是,右键单击会生成标准Web上下文菜单,并且永远不会调用voidonClick.有没有人想出如何让这个工作?pageId=425996最后,您将要禁用浏览器菜单以完全重载此类上下文菜单.除了opera之外,这应该适用于所有浏览器.但老实说,这几天新人使用了^_______^

  5. 用GWT实现基于Ajax的Web开发

    本文将结合GWTDesigner,以一个小型Web应用系统为例,对基于GWT的Web应用开发进行完整的介绍。使用GWT进行AjaxWeb应用程序开发的优势GoogleWebToolkit是Google公司推出的一款基于Java的AjaxWeb应用程序开发框架。Eclipse集成了对GWT脚本的支持,在Eclipse环境下使用GWT开发AjaxWeb应用程序,无论是代码编写、组织、测试还是调试,都能够获得较高的生产力。基于Eclipse的GWT开发环境是业界公认的,最佳的GWT开发环境。

  6. GWT入门学习与理解

    前言最近在一家公司实习,公司使用的是GWT技术进行项目的开发。因此笔者接下来会进入到GWT到初步学习中,整理一些知识点,写入博客。GWT技术简介来源:网络、《GWT入门与经典实例解析》GWT全称为GooglewebToolkit,是Google公司发布的基于Java语言开发AJAX应用的开发工具包。

  7. java – 为什么需要gwt-bootstrap?

    为什么它甚至需要gwt-bootstrap?解决方法我启动了GWT-Bootstrap,意图将引导程序JS和CSS绑定到可重用的GWT组件,否则,您可能需要复制代码,这可能会以您创建自己的代码结束,这可能与GWT非常相似–引导.它还有一些绑定事件等的工具.但是,回答你的主要问题:这取决于.如果你不信任社区和/或有很多时间,你可以做自己的gwt-bootstrap项目,但可能与你的项目集成,至少,这是我的情况发生的事情……

  8. java – 自定义ValueChangeHandler GWT

    我需要编写一个自定义ValueChangeHandler并调用onValueChange.但是我不明白如何编写ValueChangeEvent.也许我理解整个GWT事件系统是错误的.有人可以帮忙吗?

  9. java – 摆脱GWT MVP样板

    关于地点和附件的文件活动MVP,我必须创建的每个页面:>一个地方>一项活动>一个标记化器(我必须实现标记化逻辑)>演示者的界面(活动实现此界面)>视图的界面>视图实现>用于视图实现的uibinderxml>app活动映射器中的节点>gin模块中的一个节点,用于绑定视图接口以查看实现我创建了一个具有基本功能的应用程序(5页和导航栏),我已经有超过1500行代码和~40个文件.我认为这是完全不可维护的

  10. java – 任何其他GXT主题?

    默认情况下出现的GXT主题还可以,但它们基本上都是不同颜色的同一个版本.环顾四周,我找不到任何有吸引力的商业或免费主题.有没有找到新主题的好地方,或者到目前为止还没有出现第三方市场?

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部