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種方案沒有解決,可以試試這一種。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM