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 Action中hibernate管理对象的get方法去掉,同时在struts2的struts.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调用、后端的Controller处理、数据交互以及安全性考虑。这种集成允许我们在不刷新页面的情况下与服务器进行复杂交互,提高应用的响应速度和用户...
SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则提供了与服务器端进行异步交互的能力。 首先,我们需要理解JSON数据结构。在示例中,返回的JSON数据是一个二维数组,形...
在本教程中,我们将探讨如何在SSH框架中实现通过访问网页返回JSON数据的功能,这对于现代Web应用程序的数据交互至关重要。 首先,让我们了解一下SSH框架的基本构成: 1. Struts:作为MVC(模型-视图-控制器)框架,...
在提供的压缩包文件中,可能包含了两个项目实例,一个是基于SSM,另一个基于SSH,分别展示了如何在这两种框架下实现Ajax与JSON的交互。通过研究这些示例,你可以更深入地了解如何在实际项目中应用这些技术。 总之,...
在Web应用中,这常用于处理客户端与服务器之间的数据交互,特别是当需要跨域通信或者保持状态时。 首先,SSH2服务器端的设置和配置是关键。SSH2提供了安全的通道,通过这个通道,服务器可以接收并处理来自客户端的...
而AJAX(Asynchronous JavaScript and XML)是网页开发中用于创建动态交互用户体验的技术,通过在后台与服务器交换数据并局部更新页面,无需刷新整个页面。 在这个场景中,前端使用jQuery库,一个流行的JavaScript...
总的来说,"SSH项目 form读取xml实例"涵盖了SSH2框架下的表单处理、XML数据的读取与操作、JavaScript的前端交互等多个知识点。通过这个实例,开发者可以学习到如何在Java Web项目中有效地管理和处理表单数据,以及...
7. **异常处理与反馈**:在处理过程中,应捕获可能出现的异常,并通过Struts2的ActionError或ActionMessage机制,将错误信息返回到前端,供JQGrid显示。 8. **优化与扩展**:整合完成后,可以进一步优化性能,如...
在本教程中,我们将探讨如何在SSH框架的网上商城项目中使用Ajax技术来实现局部更新商品数量和总价的功能。...同时,这也是一个学习和理解Ajax如何与SSH框架结合使用的实例,对于提升Web开发技能非常有帮助。
在本项目中,Struts2接收来自Ajax的请求,调用业务层的处理逻辑,并使用Hibernate完成与数据库的交互,最后将处理结果返回给前端。通过配置Struts2的action,可以将用户请求映射到对应的后端方法,实现业务逻辑的...
- 在Action中设置相应的返回值,例如操作成功返回'success',错误返回'error',并附带必要的信息。 6. **异常处理和验证**: - SSH框架中的Validator框架可以用于服务器端的数据验证。 - Ext JS 4.0的Field验证...
本篇将详细介绍如何利用Ajax、Hibernate和Struts框架,构建一个在用户界面上实现无刷新的分页系统,同时数据库采用Oracle。 ### 一、Hibernate分页 **1. Hibernate的Criteria查询** Hibernate 提供了 Criteria API...
然而,在这里提到的“SSH标签”,实际上是在讨论与Struts框架相关的标签库,尤其是Struts 2.0中的标签库,与网络安全协议SSH并无直接关联。为了不混淆概念,我们将重点放在Struts框架的标签库上。 Struts框架是Java...
DWR是一个允许JavaScript与服务器端Java对象进行交互的库,常用于实现Ajax功能。在`web.xml`中配置DWR的Servlet: ```xml <servlet-name>dwr <servlet-class>org.directwebremoting.servlet.DwrServlet ...
### SSH框架与Struts标签 在提供的描述中提到了SSH框架,SSH是Spring、Struts和Hibernate的组合,常用于构建Java Web应用程序。在使用jQuery Form插件时,如果表单中有Struts的标签,如`<s:form>`,需要确保这些...
首先,作者提到了Java后台开发中常用的SSH框架,即Struts、SpringMVC以及Spring。Struts主要负责从前端到action的流程封装,SpringMVC类似于Struts,也是做流程控制,但提供了更细粒度的控制;而Spring对对象管理...
在实现类中,我们可以通过Hibernate的Session对象与MySQL数据库进行交互,查询商品信息,检查库存,并更新购物车表。这里假设我们有一个`CartItem`实体类,代表购物车中的每一项商品。 ```java @Service public ...
Java技术面试题通常涵盖多个领域的知识点,其中包括了Web开发中的常用框架,如Struts、Spring、AJAX和Hibernate。以下是对这些技术的详细说明: 1. **Struts框架**: - Struts是一个基于MVC(Model-View-...
Ssh的概述:Ssh是Struts、Spring、Hibernate三大框架整合的简称。 防止表单重复提交:为了防止表单被重复提交,可以使用token令牌或者点击后禁用提交按钮。 JSP标签:JSP标签用于在JSP文件中嵌入Java代码。 过滤...