標籤:
org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetExceptionorg.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種方案沒有解決,可以試試這一種。
org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException異常解決