社区
Web 开发
帖子详情
Struts2中action的方法被执行两次
liuzf1986
2011-07-06 02:53:43
如题,请求了一次,日志却出现了2次,而且是2次相同的...
...全文
919
23
打赏
收藏
Struts2中action的方法被执行两次
如题,请求了一次,日志却出现了2次,而且是2次相同的...
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengyonghai
2013-10-15
打赏
举报
回复
谢谢了,终于解决了,我的Action中的方法以 get 开头了,原来是 getMemberMobileForGrid 修改成 gainMemberMobileForGrid就好了。 费了很大的劲,还是这个帖子解决了为问题。 Action中的方法被调用了两次的问题解决。
kunsyliu
2013-01-17
打赏
举报
回复
引用 15 楼 huozhicheng 的回复:
是struts2吗,你看看你的Action方法是不是开头有get?不要用get
楼上的正解,我却是是由于action方法以get开头照成的,引以为戒!!!!
syc1110
2012-07-25
打赏
举报
回复
影起这种重复执行的并不是前台页面有重复提交表单, 而是由客户端下载方式影起的。 那种多线程下载方式就会重复的执行 response.setContentType("application/octet-stream;charset=GB2312");
ServletOutputStream out = response.getOutputStream();;
out.write(contentByte);
out.close();
这段代码所在的方法。 所以解决这种问题是将业务逻辑代码和这个弹出框下载的代码分成两个方法。 前台页面能过JS来分别提交表单以便先后执行这两个方法。 如果有情况必须先执行业务逻辑再执行下载, JS里提交表单最好做个延时(即延后一点时间执行下载的方法。)。
//延迟600毫秒提交下载的ACTION,为了解决先执行完上面的ACTION,再执行下载的ACTION
setTimeout(function(){
//下面的submit 是用来弹出下载文件的按钮
var submitform = document.getElementById("printSearchForm");
submitform.action = "activeCardManageAction!popupDownLoadDialog.action";
submitform.submit();
}
,600);
liuguoli1987226
2011-07-26
打赏
举报
回复
我考,你找出问题了那就把问题说说啊 。。。。
liuzf1986
2011-07-06
打赏
举报
回复
谢谢各位,问题找出来了
liuzf1986
2011-07-06
打赏
举报
回复
是struts2,开始Action方法有get,后来调试了下get方法会在action初始化的时候调用,所以会有两次,但是我已经改了,还是调用了2次
cat77771986
2011-07-06
打赏
举报
回复
我也遇到过这个问题,我记得好像是当时用的<a >标签调用js保存的,你可以调用一下js 在js里设置一个拦截,看看,应该是调用两次,检查一下代码
hepeng_8
2011-07-06
打赏
举报
回复
细心点 肯定是调用了两次
Horrison
2011-07-06
打赏
举报
回复
是struts2吗,你看看你的Action方法是不是开头有get?不要用get
newcaojun
2011-07-06
打赏
举报
回复
你提出的问题有两种可能
1.你点提交按钮的时候太快了导致提交出现两次重复的!解决办法是(1)提交按钮 至灰(2)请求路径加上加上标志
2.程序中 出现两次调用这个action
请仔细检查程序!
liuzf1986
2011-07-06
打赏
举报
回复
调试action方法执行完,又重新执行了
ipromise_u
2011-07-06
打赏
举报
回复
那就断点调试看看吧
liuzf1986
2011-07-06
打赏
举报
回复
直接的请求路径,没有通过表单提交方式
liuzf1986
2011-07-06
打赏
举报
回复
没有result ,是void方法
response.setContentType("application/octet-stream;charset=GB2312");
ServletOutputStream out = response.getOutputStream();;
out.write(contentByte);
out.close();
是这样返回,一个字节流
lyhmy
2011-07-06
打赏
举报
回复
是用submit按钮提交的,然后窗体用调用了一次action吗?这样可能会有2次啊
kui5656
2011-07-06
打赏
举报
回复
那应该没问题了啊?不明白!
ipromise_u
2011-07-06
打赏
举报
回复
可以看看你的Result
liuzf1986
2011-07-06
打赏
举报
回复
就是直接通过路径请求的,没有页面
kui5656
2011-07-06
打赏
举报
回复
你是页面点击一个按钮提交时调用吗?
liuzf1986
2011-07-06
打赏
举报
回复
是这样一个请求路径xxxx!xxx.action,
加载更多回复(3)
Struts
2视频_全面开战
本Java视频教程对
Struts
2 庞杂的技术点进行抽丝剥茧,提炼出企业开发的核心技术和重要技能。每个技术点都配备案例和代码,对于拦截器、
Struts
2 运行流程分析、值栈等技术点的讲授更是深入解析源代码,授之以渔。
struts
2
中
ajax异步请求
action
会被自动
执行
两次
今天在学习ajax异步请求的时候不知道为何ajax异步请求的
action
被自动
执行
了两次,
action
中
的java代码从头到尾看了好几遍也没有错误,后来经过网上查资料才发现,
struts
2
中
JSON的原理是在
ACTION
中
的get
方法
都会序列...
关于
struts
2
中
action
请求会
执行
两次的问题
最近在用
struts
2遇到一个怪问题,
struts
2的默认
方法
老是
执行
两次,搞了大半天都没有找到,在最后即将放弃时终于找打 了,原来是响应的页面有 一个图片标签,而图片标签请求的地址不存在,它就默认再次请求了当前请求...
struts
2
中
action
执行
两次
今天遇到一个问题,以超链接发送请求,
action
执行
两次,费了我好长时间还没解决,换成button,或者去掉其他的带src=”“的任何标签都不行,现在弄好了,是因为我的
方法
名为get*,换成其他名字就成了,原因我总结下: ...
Web 开发
81,095
社区成员
341,712
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章