在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对象的情况。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen_shuqing/archive/2010/06/18/5677430.aspx
分享到:
相关推荐
在"SSH2的登录login(ssh+ajax)"中,描述提到的是一个使用SSH2协议并结合Ajax技术实现的登录功能。Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。它通过...
在后端,SSH框架如Spring MVC、Struts2或Play Framework等,会处理这些Ajax请求并返回响应。SSH框架提供了模型-视图-控制器(MVC)架构,使得开发者可以更有序地组织代码。例如,在Spring MVC中,我们可以创建一个...
Spring MVC可以处理这些Ajax请求,通过Hibernate与数据库交互,然后返回JSON数据。Struts则负责整体的请求分发和页面跳转逻辑。这种结合可以创建高性能、交互性强的Web应用,同时利用SSH的强大力量来处理复杂业务...
SSH2(Secure Shell 2)主要用于提供安全的远程登录和网络服务,Ajax(Asynchronous JavaScript and XML)是用于创建交互式网页应用的技术,而jQuery则是一个强大的JavaScript库,简化了DOM操作、事件处理和动画效果...
在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...
处理完成后,服务器将响应数据返回,Ajax回调函数接收到这些数据,然后更新DOM(Document Object Model)结构,从而实现页面的局部刷新。 在实际开发中,要正确使用SSH和Ajax,你需要掌握以下几点: 1. 熟悉Spring...
- 深入分析这个示例,我们可以学习如何在SSH框架下构建AJAX请求,以及如何处理和展示返回的数据。 5. **实践步骤**: - 创建一个HTML页面,添加触发AJAX请求的按钮或事件监听器。 - 编写JavaScript代码,创建...
后台的全局异常处理,返回结果的封装,前台对于后台封装结果的解析,让你只需要关注业务逻辑而不需要关注返回异常信息
本文将围绕SSH2框架、Ajax、jQuery和JSON这些技术展开讨论,并结合给定的部分内容来深入分析如何利用这些技术进行用户名验证。 ### SSH2框架 SSH2框架是指Spring、Struts2和Hibernate三个开源框架的集成应用,它们...
2. 分离关注点:Ajax处理前端交互,SSH处理后端业务,两者分离,使得代码更易于维护和测试。 3. 异步处理:通过Ajax,用户可以继续在页面上执行其他操作,而无需等待后台任务完成。 4. 轻量级通信:使用Ajax,只...
- 如果验证通过,服务器返回成功响应,前端利用AJAX回调更新界面,如显示欢迎信息或跳转到新页面;反之,显示错误提示。 5. 动态验证:动态验证通常包括验证码、邮箱验证和手机短信验证等,用于防止恶意注册和增强...
9. **错误处理和异常捕获**:在SSH框架中如何处理异常,以及在Ajax请求中如何优雅地处理错误。 10. **安全考虑**:如何在SSH和Ajax应用中实施安全措施,例如防止XSS和CSRF攻击,以及数据验证。 以上这些知识点涵盖...
Maven SSH负责后台的安全管理,确保只有授权用户可以访问特定资源,而Ajax 2则负责前端的动态交互,提供快速、无刷新的数据更新。这种结合不仅提升了应用的性能,还降低了开发复杂度,使开发者能更专注于业务逻辑的...
SSH 框架 Ajax 获取的 JSON 格式数据处理过程 在本文中,我们将详细讲解如何使用 SSH 框架中的 Ajax 获取的 JSON 格式数据处理过程,并且实现菜单联动下拉框的功能。 一、Ajax 中 response 返回的数据是一个二维...
在SSH框架中集成Ajax,通常的做法是在Struts2的Action中添加方法来处理Ajax请求,这个方法返回JSON或其他格式的数据,而不是完整的HTML页面。前端JavaScript通过Ajax调用这个Action方法,获取数据后动态更新DOM结构...
本文将深入探讨如何利用Android的AQuery库结合Ajax技术来访问由SSH搭建的后台Java Web服务器,从而实现数据的动态获取和提交。 首先,我们需要了解AQuery。AQuery是Android平台上的一个强大的图片加载和网络请求库...
针对这些问题,本文提出了一种基于AJAX技术和SSH(Struts2+Spring+Hibernate)集成框架的解决方案,旨在提高用户体验、增强系统的可扩展性和维护性。 #### 关键技术与框架介绍 1. **AJAX(Asynchronous JavaScript...
在这个项目中,SSH2框架与Ajax技术结合,实现了一个带进度条的文件上传功能,并且这个功能已经被封装成了自定义标签,方便在页面上直接使用。 首先,让我们深入理解SSH框架的每个组件: 1. **Struts2**:Struts2是...
在本例中,Struts2的Action类作为业务逻辑的入口点,接收Ajax请求,调用Service层的方法获取数据,然后将结果返回到前端。Struts2还支持JSON插件,可以方便地将后台数据以JSON格式响应给Ajax请求,从而实现省份城市...
SSH2+Ajax网上聊天系统是一种基于Java技术栈的实时通讯平台,主要利用Struts2、Hibernate、Spring这三大框架(SSH)以及Ajax技术构建。这个系统设计的目标是提供一个高效、用户友好的在线交流环境,让用户能够即时...