org.apache.struts2.json.JSONException:
org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
?
解决:
1.检查 package继承json-default。 action结果类型为json。
2. 去掉Service或者DAO得get方法,我用此方法居然通过了.
?
?
?
?
?
个人签名
————————————-
微尘的世界
图盾 淘宝保护 保护图片 图片防盗
1 楼 jsjxieyang 2010-12-20
还是不行啊
2 楼 yumyy 2011-01-16
谢谢,我把service中的以get开头的方法名改了,果真好了…
3 楼 jay61439476 2012-02-01
多谢 我去掉 Service的get方法就好了 LZ知道为什么吗?
4 楼 tyaccp_guojian 2012-02-10
问题应该出在struts2的框架里面,对于深层嵌套的对象,struts2就不能完美的格式化成JSON格式的数据了,至于为什么去掉get方法以后就可以,那是因为struts2在格式化的时候会将你的get方法后面的一段当作一个字段,比如getName(),他就会在类中找name字段,然后格式化成{name:”xxxxx”},这时如果在action里面有getUser()方法,struts2就会在action里面找user对象,然后格式化,这时就会发生在一个action对象中嵌套一个user对象,struts2就不能很好的格式化,所以就会有这个错,也可以在get方法上加注解:@JSON(serialize = false),这样可以告诉struts2忽略这个方法。我还没有找到解决的方法,找到的告诉一声,谢谢!!QQ:240035336
5 楼 Menuz 2012-06-04
4楼,解释的很清楚,受教了。。
6 楼 sjhnanwang 2012-06-15
tyaccp_guojian 写道
问题应该出在struts2的框架里面,对于深层嵌套的对象,struts2就不能完美的格式化成JSON格式的数据了,至于为什么去掉get方法以后就可以,那是因为struts2在格式化的时候会将你的get方法后面的一段当作一个字段,比如getName(),他就会在类中找name字段,然后格式化成{name:”xxxxx”},这时如果在action里面有getUser()方法,struts2就会在action里面找user对象,然后格式化,这时就会发生在一个action对象中嵌套一个user对象,struts2就不能很好的格式化,所以就会有这个错,也可以在get方法上加注解:@JSON(serialize = false),这样可以告诉struts2忽略这个方法。我还没有找到解决的方法,找到的告诉一声,谢谢!!QQ:240035336
谢谢