struts2的json插件会默认把所有的getter方法序列化成json格式,因此,在使用该框架时要特别小心,把不需要的getter方法加上加@JSON(serialize=false)的注释。
action中的方法可以执行,但是会出现以下问题:
-
不能返回值 ,此时不报异常,原因是 struts2默认的 json 插件会默认把所有的getter方法序列化成json格式,你这里显然不能序列化dao的注入,所以需要对不序列化的get方法加注释 ,如 使用spring注入的属性 。
-
返回到页面时发生懒加载错误 问题,原因是 json 插件序列化对象的时候会去查数据库,在有懒加载的地方就会出错。
关于问题1的讨论,可以见http://bbs.csdn.net/topics/350175679。
关于问题2,hibernate的懒加载机制是很重要的提升性能的机制,但是处理不好就会包懒加载错误,spring自身有处理hibernate懒加载的机制的,这方面的详情可参考http://sudalyl.iteye.com/blog/996030、http://blog.csdn.net/aspdao/article/details/5472955等博客。