tooken 重复提交问题

rmhfzy 2009-09-25 10:32:45
public ActionForward init(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws Exception {

//处理代码
/* 加入令牌 */
saveToken(request);
/* 页面跳转目标 */
return mapping.findForward(FORWARD_init);

}


public ActionForward saveFeedBackMess(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) {

//其他代码

/* 判断是否重复提交 */
if (isTokenValid(request, true)) {
/* 保存的方法 */
bservice.saveFeedBackMess(lw);
} else {
log.info("重复提交");
saveToken(request);

}

/* 页面跳转目标 */
return mapping.findForward(FORWARD_init);

}

大家帮我看下这段代码有错吗?第一次提交是重复提交,我刷新也是重复提交?
...全文
235 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmhfzy 2009-09-29
  • 打赏
  • 举报
回复
郁闷结贴
liwenso 2009-09-25
  • 打赏
  • 举报
回复
token需要reset一下,具体的方法我一子想不起来了。
可能是resetToken吧。
这样就可以解决你说的问题了
scpaph606 2009-09-25
  • 打赏
  • 举报
回复
判断是重复提交的处理步骤是什么?好像是不是重复提交都一样处理的
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
业务需要,不能加验证码
shao_luck 2009-09-25
  • 打赏
  • 举报
回复
加一个验证码可以解决重复提交和刷新问题。可是上边的问题就没见过。
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
补充一点:FORWARD_init 跳转页面是iframe镶嵌在另一个页面里的。
<html>
<head>
</head>
<body>
<div>
<!-- 其他代码 -->
<table align="center" width="110%" >
<iframe id="leavemessage" src="<%=path%>/leaveWordAction.do? method=init&pageCount=15&infoId=<%=id %>" name="leavemessage" frameborder=0 framespacing=0 width=100% height="1304" marginheight=0 marginwidth=0 noResize vspale="0" scrolling="no"></iframe>
</table>
</div>

</body>
</html>
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
onclick事件提交,submit提交,<a href=""></a>提交都用过了,不管事。
晴天v1 2009-09-25
  • 打赏
  • 举报
回复
沙发被楼上给抢了。呜呜。
晴天v1 2009-09-25
  • 打赏
  • 举报
回复
这种没处理过,我只知道如果页面有submit按钮的话,可以禁用表单的onSubmit()事件来禁止重复提交,不知道我说的对不对。楼下的请指点。
kbyst 2009-09-25
  • 打赏
  • 举报
回复
刷新也是
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
刚才试了下,还是一样,郁闷死
uprighthonest 2009-09-25
  • 打赏
  • 举报
回复
你再试试看,加上reset,换成标签,要是还不行,我只好回家给你试试了
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
我原来试过,也是不行
uprighthonest 2009-09-25
  • 打赏
  • 举报
回复
我好像想起来了,我原来做的时候,记得,那个表单好像必须用标签的形式
如果你<html:form ... 应该可以

如果你用Html的表单,直接form好像就不行,你可以试试
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
不是,自己写的一个标示位而已,这个跟tooken没有关系了,是刷新的时候跟刷新前的链接所传的参数是一样的,所以你不管怎么传值,他所传的参数是一样的!
relinson 2009-09-25
  • 打赏
  • 举报
回复
你把你前台隐藏域的那个代码贴出来,是不是用org.apache.struts.action.TOKEN这个从session获取的?
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
试过了,保存到时保存上了,可是刷新的时候,参数还是原来的那个,没有变
relinson 2009-09-25
  • 打赏
  • 举报
回复
你的代码在成功处理之后还是会跳到那个页面,那你在跳转之前再保存一下TOKEN应该就可以啦
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
这时刷新的不是iframe,而是那个页面
rmhfzy 2009-09-25
  • 打赏
  • 举报
回复
iframe的src是没有问题的,iframe最终到达一个页面,在页面里有一个提交,这个提交与刷新时的参数是一样的,所以加不加时间戳是没有作用的
加载更多回复(9)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧