struts2中使用json插件执行ajax处理时,如果方法名是get方法的时候,方法会莫名其妙的执行两次。
原因:
struts2 中JSON的原理是在ACTION中的get方法都会序列化,所以前面是get的方法只要没指定不序列化,都会执行
解决方法
1、Action中的业务方法前别加get 或者 set(属性的get set 除外)
2、用@JSON(serialize=false)指定方法不序列化
如
import com.googlecode.jsonplugin.annotations.JSON;
@JSON(serialize=false)
public String getChild() throws Exception{
..............
..............
return "success";
}
本文探讨了在Struts2框架中使用JSON插件处理AJAX请求时,get方法被莫名执行两次的问题。分析了问题产生的原因在于Struts2默认序列化所有get方法,并提供了两种解决方案:一是避免在业务方法前使用get前缀;二是使用@JSON注解指定不序列化。
138

被折叠的 条评论
为什么被折叠?



