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种方案没有解决,可以试试这一种。
时间: 2024-12-26 05:47:47