org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException异常解决

org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
	org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:246)
	org.apache.struts2.json.JSONWriter.processCustom(JSONWriter.java:178)
	org.apache.struts2.json.JSONWriter.process(JSONWriter.java:168)
	org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)
	org.apache.struts2.json.JSONWriter.write(JSONWriter.java:102)
	org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:116)
	org.apache.struts2.json.JSONResult.createJSONString(JSONResult.java:196)
	org.apache.struts2.json.JSONResult.execute(JSONResult.java:170)

这种问题遇到过两次了,都是在ajax调用action返回json时出现,大概有以下解决方案可以尝试:

1.由于在action中Service层的注入加入了对应的get()和set()方法,返回的json对象会将这个get方法当作实体类的属性来返回,那么删掉service的get()方法就可以了。

2.在action中除了get属性()方法之外,最好不要定义get开头的action方法,否则ajax调用时会执行这个方法。

3.遇到的两次问题分别用前2种方案解决了,在网上搜的时候发现还有一种方案是除了get属性()方法之外在其他getxxx()方法前面加注释@JSON(serialize=false),
 如果前2种方案没有解决,可以试试这一种。


posted @ 2015-06-16 20:57  LyzRecord  阅读(8320)  评论(0编辑  收藏  举报