json数据在前台接收不到数据的解决方法

来源:互联网 发布:淘宝新人礼包 编辑:程序博客网 时间:2024/04/28 01:28

在学习SSH项目商城的时候,通过查询数据库的数据,并将数据打包成json格式并在前台显示时出现了

Struts has detected an unhandled exception:

Messages:failed to lazily initialize a collection of role: cn.it.shop.model.Account.categories, could not initialize proxy - no Session,

从异常可以看出是懒加载出现了问题,并且出现在cn.it.shop.model.Account.categories中,有商品表和管理员表,商品表与管理员表有外键关联。查看代码发现是由于级联查询时表之间有外键关联,导致查询数据是出错。struts转json的过程:转category(正常)----->转category中的account---->转category中的account中的category(出错,因为account中有category属性,它就会去转),有三种方法解决:

1.将account中的category设置为fetch = FetchType.EAGER,但是不建议这么做,会影响性能。

2.在Account类中干掉Category和它的set,get方法。

3.如果你不想干掉Account中的Category,你也可以在struts.xml的黑名单配置中加上rows\[\d+\]\.account\.categories试试,告诉struts2转json时转到account就行了,别再转account中的category了。


0 0