日期:2014-05-16  浏览次数:20343 次

struts json类型返回结果异常问题

struts2的Aciton返回结果是json类型,其工作机制是把action中所有getXXX()方法的XXX转换成json串返回到前台。

当一个对象XXX是通过spring依赖 注入到action中,若其有相应get方法,并且Action配置中返回结果类型是json,则struts 的json在把getXXX()的XXX转换成json串的过程中就会发生异常,造成无法处理失败,可能是由于struts的json没有相应权限把,XXX是由Spring注入的,所以出问题了。

若action方法中只有一个getyyyy()方法,并没有setyyy()方法,更没有yyy这个属性,struts的json依然在返回的json串中有yyy以及其相应值,其相应值就是getyyyy()这个方法的返回值。

从而可知,struts就是找到getXXX()这个方法,并把XXX转换,比较容易出问题,本身的约束校验较少