用struts的json插件给前台传送json对象时,报错 NoSuchMethodException : pojo.getHibernateLazyInitializer()
hibernate3.2之前的版本的确存在这个问题,官方在3.2版本就已经解决。
我用的是hibernate3.6,所以不是jar包的问题,查找资料后发现是pojo级联导致该错误。
例如:
//pojo
public class Foo{
private Goo goo;
// getter & setter
}
public class Goo{
....
}
在action中有一个foo 属性
把foo做为json对象传到前台
做法:在struts.xml中配置
<action name="actionName" class="....">
<result type="json">
<param name="root">foo</param>
</result>
</action>
这样配置,前台能够获取foo,但是会报如上错误
解决方法:
在struts.xml中这样写:
<action name="actionName" class="....">
<result type="json">
<param name="root">foo</param>
<!-- 把goo排除掉 -->
<param name="excludeProperties">.*goo</param>
</result>
</action>
因篇幅问题不能全部显示,请点此查看更多更全内容