`

struts会将action中定义的一些变量序列化转换成json格式出现异常

 
阅读更多

Caused by: java.lang.IllegalAccessException: Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.interceptor.ExposeInvocationInterceptor$1 with modifiers "public"。

 

主要原因:struts会将action中定义的一些变量序列化转换成json格式,需要调用对象的一系列get方法(例子中调用 DemoService的get方法 ),并调用 以上变量的 成员变量的get方法 将其内容组成json格式。但是在序列化authorityService时,由于其成员变量中含有含有接口所以会报错。

 

解释:

 

不能把程序中的某种数据结构串行化成json格式。

 

原因:

 

struts2的action里面的数据转换成json数据时,会将提供了get方法的属性都串行化输出JSON到客户端。有的时候,很多 属性并不能串行化成json数据,这时还进行强行转换就会出现这样的异 常。

 

解决方法:

 

在不能串行化到json的属性相应的get方法前加一条json标记 @JSON(serialize=false)。 告诉json不需要转化这个属性。或者根本不写这个get方法。

 

分享到:
评论

相关推荐

    struts2中action实现ModelDriven后无法返回json的解决方法

    在实现ModelDriven接口的Action类中,当调用execute()方法或其他业务逻辑方法执行后,Struts2框架会自动将返回的模型对象序列化为JSON格式输出给前端。 因此,在实际开发中,如果遇到类似问题,可以根据具体的需求...

    SSH+EXT如何返回JSON

    在这个类中,我们定义了一个名为`locationlist`的方法,该方法用于处理请求并将数据转换为JSON格式。 1. **导入必要的库**: - 首先导入`net.sf.json`库中的`JSONArray`和`JsonConfig`类。 - 其他导入语句主要...

    flex struts 整合需要的包

    - **其他的依赖库**:可能还有其他库文件,如JSON库(json.org的json.jar),用于数据序列化和反序列化。 在实际工程实例中,你需要创建Flex客户端应用,使用ActionScript来调用服务端的Struts action。在服务端,...

    简易搭建ssh 框架

    - **json-lib-2.3-jdk15.jar** 和 **json.jar**:这两个文件都与JSON(JavaScript Object Notation)处理有关,可能用于数据交换和序列化。 - **jotm.jar**:这是一个开源的JTA(Java Transaction API)实现,用于...

    jfinal自动生成类工具

    同时,这些Bean也可以作为JSON对象进行序列化和反序列化,方便前后端交互。 总的来说,JFinal的自动生成类工具是一个强大的辅助开发工具,它可以帮助我们快速构建数据模型,减少重复劳动,提高开发效率。熟练掌握并...

    Spring MVC面试题(2022最新版)

    当控制器方法上标注了`@ResponseBody`时,Spring MVC会将方法的返回值直接序列化为JSON或XML格式,并作为HTTP响应体返回给客户端。前端可以通过AJAX技术(如jQuery的$.ajax()方法)发送异步请求,并处理后端返回的...

    SpringMVC课堂笔记(1)

    - 使用Jackson或Gson等库来实现JSON数据的序列化和反序列化。 5. **RESTful支持** - 提供一套标准的API设计规范,便于不同系统间的通信。 6. **拦截器** - 可以用来处理认证/授权、记录请求时间等。 - 实现`...

    java培训课程体系

    - **对象流:** 学习ObjectInputStream和ObjectOutputStream类的对象序列化。 #### 二、MySQL数据库管理与开发(1周) ##### 2.1 数据库概论 - **数据库的概念与分类:** 了解关系型数据库的基本原理。 - **SQL...

    Java_笔记整理

    - **JSON格式**:数据交换的格式,JSON对象的解析与序列化。 8. **Spring框架** - **IoC容器**:依赖注入的基本概念,Bean的定义与管理。 - **AOP面向切面编程**:横切关注点的提取与实现。 - **Spring MVC**...

    Java工程师面试宝典

    - **对象流**:`ObjectInputStream` 和 `ObjectOutputStream` 用于序列化和反序列化对象。 ##### 1.3 异常 - **异常分类**:异常分为两种类型:编译时异常(`Exception` 的子类,必须处理)和运行时异常(`...

    ajax请求返回的数据看不到回调函数没有执行也没报错

    这个注解指示JSON序列化时忽略这个集合,避免在客户端尝试解析空集合。如果确实需要在客户端使用这些关联数据,那么应当在Service层预先查询并填充这些数据,确保它们在返回给客户端时是完整的。 此外,对于其他...

    Java学习笔记-个人整理的

    {7.4}基本类型数据序列化}{108}{section.7.4} {7.5}String的序列化}{109}{section.7.5} {7.6}InputStream与OutputStream}{109}{section.7.6} {7.6.1}FileInputStream}{109}{subsection.7.6.1} {7.6.2}...

Global site tag (gtag.js) - Google Analytics