struts2 json插件执行原理 action执行两次

 
用struts2+json开发项目,发现调用其中的一个方法(getFunction())莫明其秒的执行了两次,而另一个方法也莫明其秒的自已执行了。
 
debug了半天,原因是我用JSON插件把返回结果定为JSON了。而JSON的原理是在ACTION中的get方法都会序列化,所以前面是get的方法只要没指定不序列化,都会执行,

用@JSON(serialize=false)指定方法不序列化
添加在action的函数上,问题解决.
 
在用json传值时,执行的代替execute的方法不要用get开头。



----------------------2012.08.02
今天又遇到了这个问题,所以总结出在一个action类中尽量不要写过多的方法,
功能不同的方法应该放在不同的action类中,因为json传递时会将类里面的所有get*****方法都执行一遍,浪费资源

-------------------2012.08.07
<result name="success" type="json">
            <param name="includeProperties">haha</param>
 </result>
在struts中配置如上时,那么就只会执行getHaha()函数。

你可能感兴趣的:(struts2 json插件执行原理 action执行两次)