今天在修改系统的一个Action类时(系统架构是struts2+spring+hibernate),报了以下错误:

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

后来发现是由于我在该Action类中新增加了一个对象属性,并添加了get和set方法,通过spring注入,但由于该Action类使用了struts2支持的json格式字符串返回,会将我新增加的这个对象属性也添加到返回的json字符串,导致struts2报错,该错误的解决方法有2个:

1)在新增对象属性的get方法上添加标注“@JSON(serialize=false)”;

2)去掉新增对象属性的get方法;

这样,在返回json格式字符串时,不会再添加这个对象属性,也就不会再报错了。