今天在修改系统的一个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个:
- 在新增对象属性的get方法上添加标注“@JSON(serialize=false)”;
- 去掉新增对象属性的get方法;
这样,在返回json格式字符串时,不会再添加这个对象属性,也就不会再报错了。