Class org.apache.struts2.json.JSONWriter can not access a member of *

原创 2012年03月28日 14:27:20

Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers "public"


网上有很多这样的问题,但是在ssh中 此问题形成的原因可能有多种、


网上的:------

异常形式:

Class org.apache.struts2.json.JSONWriter can not access a member of * 或是 Class com.googlecode.jsonplugin.JSONWriter can not access a member of class*

第一种是struct2.1.8与json结合时的异常,第二种是struct2.1.6与json结合的异常。

 

具体:

Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver.BaseResultSet with modifiers "public"

 

解释:

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

 

原因:

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

 

解决方法:

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

 

后记:

对于不需要在前台输出的json数据,也可以用同样的方法进行处理,从而减少服务器和客户端间交互的信息量。

可在需要在前台输出的属性的get方法前加上@JSON(name="status")标识,从而为该属性起了一个别名,在前台就可以通过status作为属性名来读取其值。

-----------

而大部分的主要原因就是spring自动装箱的service在action中生成了setter gettet方法。

json误把spring自动装箱的getter给生成json数据发过去了。

解决方法:

       把不必要的信息gettet删除或者注释掉。或者像上面操作 加@JSON(serialize=false) 标记。



版权声明:本文为博主原创文章,未经博主允许不得转载。

C++:关于class member声明为static的情况

2014.5.27 reference: C++ primer 5th, $7.6:Static Class Members TOPIC 1:一个类中的member(data member和funct...
  • tong_xin2010
  • tong_xin2010
  • 2014年05月27日 15:52
  • 845

外部类、外部接口、类的内部类、类的内部接口、接口的内部类、接口的内部接口 修饰符

/** * 外部类,顶级类 * * Illegal modifier for the class TestClass4; only public, abstract & final are p...
  • CmdSmith
  • CmdSmith
  • 2017年12月15日 15:14
  • 39

深入理解C++对象模型之Data Member存取成本

对于C++语言而言,不好理解的地方大多数由继承和多态这两个东西产生,比如说一个C++类型的内存布局,会因为其是继承而来的派生类或者独立类而不同,如果是派生类,由于继承的存在,它需要包含基类部分,因此其...
  • qq_26849233
  • qq_26849233
  • 2017年04月30日 16:51
  • 183

移动终端接入无线网络控制管理 - 接入控制等级介绍(Access Control Class)

Access Control allows restriction of call access attempts. All mobile stations are assigned to a "lo...
  • ghxbob
  • ghxbob
  • 2013年11月04日 22:24
  • 2477

《深度探索C++对象模型》:Data member的布局

《深度探索C++对象模型》:Data member的布局
  • hujingshuang
  • hujingshuang
  • 2016年10月21日 23:04
  • 1362

开发遇到的问题

cannot create __weak reference in file using manual reference counting 解决1: 设置项目中的build setting ->...
  • KLong27
  • KLong27
  • 2017年05月08日 17:00
  • 427

Android代码混淆

记录下自己在代码混淆过程中遇到的问题: 这两个文件是ADT创建项目时自动生成混淆代码的文件,其中project.properties是控制是否混淆代码,proguard-project.tx...
  • gaocongzhi
  • gaocongzhi
  • 2015年01月26日 16:39
  • 1275

使用idea14.1.4创建maven多项目工程搭建jfinal框架报错

使用idea14.1.4创建maven多项目工程搭建jfinal框架报错。
  • jinsique
  • jinsique
  • 2015年09月17日 23:49
  • 1750

Cocos2d-x之Touch事件处理机制

转载自:http://blog.linguofeng.com/archive/2012/09/12/cocos2d-x-touch.html Cocos2d-x之Touch事件处理机制 提供两...
  • lcr0719
  • lcr0719
  • 2014年03月16日 14:16
  • 655

C++中前置声明介绍

C++中前置声明介绍
  • fengbingchun
  • fengbingchun
  • 2017年02月09日 21:53
  • 817
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Class org.apache.struts2.json.JSONWriter can not access a member of *
举报原因:
原因补充:

(最多只允许输入30个字)