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

ajax框架与SSH交互总返回error hibernateLazyInitializer

阅读更多

ajax框架与SSH交互总返回error

 

 

 

FireFox查看异常显示

 

Class org.apache.struts2.json.JSONWriter can not access a member of class org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper with modifiers "public"

 

 

 

发现一个规律,凡是在struts2 pojo action中有对象属性的,并被hibernate管理的,都会出现这种问题。因为hibernate会给每个被管理的对象加上hibernateLazyInitializer属性,同时struts-jsonplugin或者其他的jsonplugin都是通过java的反射机制将pojo转换成json的,但是hibernateLazyInitializer无法由反射得到,所以就抛异常了。

 

 

 

这种问题同样发生在spring mvc的通过ajax访问SSH2中。

 

 

 

解决方法:

 

 

 

第一种方法:将POJO Actionhibernate管理对象的get方法去掉,同时在struts2struts.xml文件中的<result type="json"></result>加入<param name="excludeProperties">.*hibernateLazyInitializer</param>

 

<result type="json">

 

    <param name="excludeProperties">.*hibernateLazyInitializer</param>

 

</result>

 

用于使用struts-jsonplugin的情况。

 

 

 

第二种方法:在pojo的类上加入annotation来排除hibernateLazyInitializer 这个属性:

 

annotation

 

@JsonIgnoreProperties(value={"hibernateLazyInitializer"})

 

 

用于使用jackson来转移json对象的情况。

分享到:
评论

相关推荐

    Ajax里jQuery的ajax与ssh集成

    总的来说,Ajax里jQuery的ajax方法与SSH框架的集成涉及到前端的Ajax调用、后端的Controller处理、数据交互以及安全性考虑。这种集成允许我们在不刷新页面的情况下与服务器进行复杂交互,提高应用的响应速度和用户...

    SSH1,JQuery的ajax返回json二维数组处理过程

    SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则提供了与服务器端进行异步交互的能力。 首先,我们需要理解JSON数据结构。在示例中,返回的JSON数据是一个二维数组,形...

    代码工程 Web 基础之 SSH 框架访问网页返回 json 数据简单实现的整理

    在本教程中,我们将探讨如何在SSH框架中实现通过访问网页返回JSON数据的功能,这对于现代Web应用程序的数据交互至关重要。 首先,让我们了解一下SSH框架的基本构成: 1. Struts:作为MVC(模型-视图-控制器)框架,...

    在maven+ssm&ssh;中使用ajax处理json数据

    在提供的压缩包文件中,可能包含了两个项目实例,一个是基于SSM,另一个基于SSH,分别展示了如何在这两种框架下实现Ajax与JSON的交互。通过研究这些示例,你可以更深入地了解如何在实际项目中应用这些技术。 总之,...

    ssh2 试用ajax序列化及反序列化案例

    在Web应用中,这常用于处理客户端与服务器之间的数据交互,特别是当需要跨域通信或者保持状态时。 首先,SSH2服务器端的设置和配置是关键。SSH2提供了安全的通道,通过这个通道,服务器可以接收并处理来自客户端的...

    ssh2+ajax+jquery+json验证用户名是否存在

    而AJAX(Asynchronous JavaScript and XML)是网页开发中用于创建动态交互用户体验的技术,通过在后台与服务器交换数据并局部更新页面,无需刷新整个页面。 在这个场景中,前端使用jQuery库,一个流行的JavaScript...

    SSH项目 form读取xml实例

    总的来说,"SSH项目 form读取xml实例"涵盖了SSH2框架下的表单处理、XML数据的读取与操作、JavaScript的前端交互等多个知识点。通过这个实例,开发者可以学习到如何在Java Web项目中有效地管理和处理表单数据,以及...

    ssh+jqgrid的整合

    7. **异常处理与反馈**:在处理过程中,应捕获可能出现的异常,并通过Struts2的ActionError或ActionMessage机制,将错误信息返回到前端,供JQGrid显示。 8. **优化与扩展**:整合完成后,可以进一步优化性能,如...

    SSH框架网上商城项目第28战之使用Ajax技术局部更新商品数量和总价

    在本教程中,我们将探讨如何在SSH框架的网上商城项目中使用Ajax技术来实现局部更新商品数量和总价的功能。...同时,这也是一个学习和理解Ajax如何与SSH框架结合使用的实例,对于提升Web开发技能非常有帮助。

    JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册

    在本项目中,Struts2接收来自Ajax的请求,调用业务层的处理逻辑,并使用Hibernate完成与数据库的交互,最后将处理结果返回给前端。通过配置Struts2的action,可以将用户请求映射到对应的后端方法,实现业务逻辑的...

    ssh+extjs4.0grid增删改查

    - 在Action中设置相应的返回值,例如操作成功返回'success',错误返回'error',并附带必要的信息。 6. **异常处理和验证**: - SSH框架中的Validator框架可以用于服务器端的数据验证。 - Ext JS 4.0的Field验证...

    Ajax+hibernate+struts实现无刷新的分页

    本篇将详细介绍如何利用Ajax、Hibernate和Struts框架,构建一个在用户界面上实现无刷新的分页系统,同时数据库采用Oracle。 ### 一、Hibernate分页 **1. Hibernate的Criteria查询** Hibernate 提供了 Criteria API...

    ssh标签

    然而,在这里提到的“SSH标签”,实际上是在讨论与Struts框架相关的标签库,尤其是Struts 2.0中的标签库,与网络安全协议SSH并无直接关联。为了不混淆概念,我们将重点放在Struts框架的标签库上。 Struts框架是Java...

    SSH整合所需关键代码

    DWR是一个允许JavaScript与服务器端Java对象进行交互的库,常用于实现Ajax功能。在`web.xml`中配置DWR的Servlet: ```xml &lt;servlet-name&gt;dwr &lt;servlet-class&gt;org.directwebremoting.servlet.DwrServlet ...

    jquery-form 异步提交表单

    ### SSH框架与Struts标签 在提供的描述中提到了SSH框架,SSH是Spring、Struts和Hibernate的组合,常用于构建Java Web应用程序。在使用jQuery Form插件时,如果表单中有Struts的标签,如`&lt;s:form&gt;`,需要确保这些...

    JQuery中Ajax的操作完整例子

    首先,作者提到了Java后台开发中常用的SSH框架,即Struts、SpringMVC以及Spring。Struts主要负责从前端到action的流程封装,SpringMVC类似于Struts,也是做流程控制,但提供了更细粒度的控制;而Spring对对象管理...

    实现动态无刷新添加购物车

    在实现类中,我们可以通过Hibernate的Session对象与MySQL数据库进行交互,查询商品信息,检查库存,并更新购物车表。这里假设我们有一个`CartItem`实体类,代表购物车中的每一项商品。 ```java @Service public ...

    java技术面试题.pdf

    Java技术面试题通常涵盖多个领域的知识点,其中包括了Web开发中的常用框架,如Struts、Spring、AJAX和Hibernate。以下是对这些技术的详细说明: 1. **Struts框架**: - Struts是一个基于MVC(Model-View-...

    java必备知识点大全.pdf

    Ssh的概述:Ssh是Struts、Spring、Hibernate三大框架整合的简称。 防止表单重复提交:为了防止表单被重复提交,可以使用token令牌或者点击后禁用提交按钮。 JSP标签:JSP标签用于在JSP文件中嵌入Java代码。 过滤...

Global site tag (gtag.js) - Google Analytics