这段时间做的一个后台老是遇到如题的问题,后来在这个http://blog.sina.com.cn/s/blog_49cc672f0100v0jf.html 博客里看到了原因。
在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行两次了。继续查找,发现调用的是返回json数据格式的action,如果是调用返回页面的action就不会有这种问题。
结合网上的搜索,总结了一下:
1. json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息。.
2. ajax模式下,调用的action方法不能为get*方式命名,内中机理未知。
结论:[b][color=darkred]action中方法最好不要以get开头[/color][/b]。
在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行两次了。继续查找,发现调用的是返回json数据格式的action,如果是调用返回页面的action就不会有这种问题。
结合网上的搜索,总结了一下:
1. json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息。.
2. ajax模式下,调用的action方法不能为get*方式命名,内中机理未知。
结论:[b][color=darkred]action中方法最好不要以get开头[/color][/b]。
Struts2中Action方法以get开头会导致HTTP请求重复问题
在使用Struts2框架时,若Action方法名以get开头,可能会导致Firefox中的yslow插件发送额外的HTTP GET请求,而调用返回json数据格式的action则不会出现此问题。结论是action方法最好避免以get命名。
2665

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



