虽然我只是新手,但是这个问题我必须要说一下!
在struts2的ajax方法中调用了action中的方法:
function changeStreet(obj){
$(function(){
$.ajax({
type : "GET",
url : "/json/house!getHouseInfo.action",
success : function(data) {
alert(data);
}
});
})
}此时,action中的getHouseInfo()方法会执行两次!
很多人说是因为:<a>标签中没有注明地址,或者是重复提交
但是经过尝试发现:
真正的原因在于方法名。。
即getHouseInfo()方法,以get开头,导致struts2的拦截器在调用方法之后,又进行了一次初始化,虽然没有匹配到模型驱动,但是方法却执行又了一次。
解决方法:该方法名,去掉get
本文探讨了Struts2框架中使用AJAX调用Action方法时出现的重复执行现象,并揭示了问题根源在于方法命名规则。通过更改方法名称避免了Struts2拦截器的二次初始化,从而解决了重复调用的问题。
2663

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



