今天遇到一个问题,以超链接发送请求,action执行两次,费了我好长时间还没解决,换成button,或者去掉其他的带src=”“的任何标签都不行,现在弄好了,是因为我的方法名为get*,换成其他名字就成了,原因我总结下:
1:有人说是请求为带get的action时,Struts2会在执行getSomeThing属性方法时将你请求的这个方法也作为普通get方法执行一遍,我试了一下,完全错误,在请求到执行action中只会执行set方法,get方法是在jsp页面请求action中的数据时才会执行,
2:也有这种说法
json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息。
ajax模式下,调用的action方法不能为get*方式命名,内中机理未知。
个人认为是Struts2对于get方法有特殊的要求和限制,具体底层处理不知,有了解的欢迎留言告知,感谢