`
dazhilao
  • 浏览: 245971 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts2 JSON插件序列化hibernate的POJO类出现异常

    博客分类:
  • Jsp
阅读更多
使用struts2的JSON插件所要做的配置是Struts2的配置文件的package要继承json-default,而不是struts-default。json-default已经继承了struts-default的。
配置action的返回结果是<result type="json" />
<action name="*publish" class="PublishAction" method="{1}" >
   <result type="json" />
</action>


由于hibernate的相关属性,导致hibernate的dao类是不能给序列化的,所以如果使用JSON插件必须使用@JSON(serialize=false)又或者去掉dao类的get方法。

由于hibernate存在延迟加载,所以在序列化hibernate的POJO类的时候要多加小心,由于延迟加载导致POJO类内部的关联类为空,导致JSON插件在序列化的时候出错,抛出异常。处理方法跟上面一样,又可以使用反射把get方法设置为私有。


续:
今天发现又出现了序列化的错误,原先是没有这个问题的。后来发现同事改了我的数据类型,把int型改成了Integer类型。真是无语啊。公司管理太混乱了。又不到我说了算啊。无语啊。所以现在总结,strust2的JSON不能序列化不是基本类型的空对象。
分享到:
评论

相关推荐

    json2pojo功能有点麻烦

    参照https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started的步骤Using jsonschema2pojo within your Java project (embedded)

    json2javabean josnschema2pojo

    JSON到Java Bean转换工具,如"json2javabean"和"josnschema2pojo",是开发人员在处理JSON数据与Java对象之间转换时的便利工具。这些工具能够根据JSON格式的数据自动生成对应的Java类,使得数据绑定变得更加简单和...

    利用jackson包进行json字符串与pojo类之间的转换源代码

    2. **POJO到JSON的转换** 反之,如果要将Java对象转换为JSON字符串,可以使用`ObjectMapper`的`writeValueAsString`方法。 ```java String jsonString = mapper.writeValueAsString(pojo); ``` 3. **配置和...

    hibernate自动生成Pojo

    为此,Hibernate 提供了反向工程(Reverse Engineering)工具,可以自动生成基于数据库表结构的POJO类,极大地提高了开发效率。 `hibernate_tools` 和 `hibernate_extension` 是 Hibernate 提供的扩展和工具集,...

    struts2使用json

    6. **其他参数与注解**:除了上述参数,`result`类型还可以配置其他参数,比如`root`参数用于指定返回的JSON对象的根属性,或者使用注解在Pojo类的属性上,以控制其在JSON序列化和反序列化中的行为。 7. **JSON安全...

    Json2Pojo:IntelliJ插件,可以通过GSON批注和访问器轻松地从JSON创建Java POJO。

    Json2Pojo IntelliJ插件,可以使用GSON批注和访问器从JSON轻松创建Java POJO。 用法 通过打开首选项-&gt;插件-&gt;搜索“ Json2Pojo”,将插件安装在... 该插件将在目标目录中生成您的新类,以便通过GSON轻松反序列化。

    hibernate生成pojo

    本文将基于MyEclipse IDE介绍如何使用Hibernate生成POJO类的过程。假设您已经安装好了MyEclipse,并配置好了JDK以及Tomcat服务器等开发环境。接下来按照以下步骤进行操作: 1. **新建数据库连接**: - 在MyEclipse...

    eclipse 配置 hibernate tools 反向生成 pojo类 注解

    为了提高开发效率,开发者经常使用Hibernate Tools来反向工程数据库模式,自动生成POJO(Plain Old Java Object)类,这些类可以直接用于数据操作。本文将详细讲解如何在Eclipse中配置Hibernate Tools以实现注解方式...

    struts2、hibernate框架

    Struts和Hibernate是两个在Java Web开发中广泛使用的框架,它们分别关注于应用程序的表示层(Presentation Layer)和持久化层(Persistence Layer)。Struts2是Struts的升级版,它引入了非侵入式设计,提高了灵活性...

    struts2+spring2+hibernate3

    Struts2与之前的Struts1.x有很大的区别,采用了基于POJO(Plain Old Java Object)的设计,不再强制Action类必须继承特定的类或实现接口,而是通过注解或配置文件来定义行为。Spring的引入可以方便地管理Struts2中的...

    JDK1.8中文API+Json对象直转pojo类实例.rar

    在这个"JDK1.8中文API+Json对象直转pojo类实例"的压缩包中,我们主要会关注Java反射机制、Gson库以及如何将Json对象直接转换为Java的POJO(Plain Old Java Object)类。 首先,让我们详细了解一下Java反射机制。...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    ### Struts2、Spring与Hibernate整合应用:学生成绩管理系统 #### 一、知识点概览 本项目聚焦于Struts2、Spring与Hibernate三大框架的整合应用,旨在构建一个高效、稳定、易于维护的学生成绩管理系统。通过整合这...

    Struts2中使用JSON

    Struts2是一个流行的Java web开发框架,用于构建MVC(模型-视图-控制器)架构的应用程序...在实际应用中,你还可以使用Struts2的拦截器和其他功能来进一步定制JSON的序列化行为,比如排除某些属性、自定义日期格式等。

    通过mybatis generator反向工程生成pojo及mapper类 带序列化插件

    在MyBatis Generator中,我们可以通过在`&lt;javaModelGenerator&gt;`标签中添加`useActualColumnNames="true"`属性,使生成的实体类字段名与数据库列名保持一致,这样当字段包含特殊字符时,序列化就不会出现问题。...

    Struts2 Pojo(六)

    例如,Struts2的Tiles插件提供了布局和页面组合的功能,而Struts2 JSON插件则使得Action可以直接返回JSON格式的数据,适合于构建AJAX应用。 6. **源码分析和工具** 标签“源码”提示我们可能需要对Struts2的内部...

    jsonschema2pojo

    Android json 转换成java实体类

    Struts2+Spring2+Hibernate3

    Struts2、Spring2 和 Hibernate3 是经典的 Java Web 开发框架组合,被广泛应用于企业级应用的构建。这个组合通常被称为“SSH”三位一体,为开发人员提供了强大的模型-视图-控制器(MVC)架构支持,事务管理以及持久...

    MyClipse6.0\Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    《Struts2、Spring与Hibernate整合应用:学生成绩管理系统》 在IT行业中,构建一个高效、稳定的Web应用程序常常需要整合不同的框架。本项目“学生成绩管理系统”就是基于Struts2、Spring和Hibernate三大主流Java ...

    struts2 spring hibernate集成

    **Struts2与Spring的集成** 主要是通过Spring插件实现,这使得Action类可以作为Spring的bean管理,实现依赖注入。这样,Action类可以直接注入服务层(Service)和DAO(数据访问对象)层的bean,简化了代码结构,增强...

    Struts2+Hibernate框架,非常简单的组合,专门提供给菜鸟级别的

    5. **错误处理**:Struts2的异常处理机制可以捕获Hibernate可能出现的异常,并返回合适的错误页面。 文件`s2h-model`可能包含了Struts2与Hibernate整合中的模型层代码,即实体类。这些实体类通常是Java POJO(Plain...

Global site tag (gtag.js) - Google Analytics