日期:2014-05-17  浏览次数:20853 次

java表单重复提交
重复提交表单的时候如何让第二次提交的操作无效,
firefox好像本身有这种机制,但是如何在JAVA中实现

------解决方案--------------------
用token标签 就行了 然后给个提示
------解决方案--------------------
探讨
引用:

用token标签 就行了 然后给个提示
可以说的详细点吗 WEB方面我不太熟
token网上也查过了 就是去判断生成的token和session中的是否相同,
这个也都做好了,就是不相同的时候如何去处理让第二次操作无效。

------解决方案--------------------
CSS code
struts用token令牌,也可以在添加数据后用redirect跳转
表单提交后,禁用提交按钮

------解决方案--------------------
web 简单点的 提交完了后 页面那个按钮失效 或者提交完了跳转到别的页面
------解决方案--------------------
token 是Struts的,如果你不是用Struts,你可以在提交按钮第一次提交后,把它灰掉!
------解决方案--------------------
让按钮灰掉呗,或者干脆重新定向一下
------解决方案--------------------
验~~~~~~~~~~~~证~~~~~~~~~~~~码
------解决方案--------------------
1.struts2的token标签
2.直接跳转到其他页面
------解决方案--------------------
以前还真的没有注意到这个呢?以前只是提交之后转向其他的页面。也从来没有提交之后又点击提交。顶。好帖子
------解决方案--------------------
探讨
重复提交表单的时候如何让第二次提交的操作无效,
firefox好像本身有这种机制,但是如何在JAVA中实现

------解决方案--------------------
第一种方式是用令牌环方式解决. 第二种方式用response的重定向方式跳转页面就OK了
------解决方案--------------------
告诉你一个最简单的,用js,设一个计数器

代码自己写吧,很简单
------解决方案--------------------
探讨
让按钮灰掉呗,或者干脆重新定向一下

------解决方案--------------------
呵呵,学习了
------解决方案--------------------
判断session是否已经存在,用session做也得,干脆把那按钮灰了
------解决方案--------------------
按钮点了后就变灰
------解决方案--------------------
1,用struts的token
2,跳转到另外一个只做查询的action 这样原先的数据就会覆盖掉
------解决方案--------------------
Struts中有这种机制
------解决方案--------------------
Java code

boolean token=true;
getSession().setAttribute("token",true);
if(token==getSession().getAttribute("token")){
  getSession().setAttribute("token",false);
  return SUCCESS;
}else{return ERROR}

------解决方案--------------------
我觉得我还是很悲剧的。
------解决方案--------------------
可以通过在第一次提交后设置按钮不可用,在第一次完成后才可以。
------解决方案--------------------
第一次提交后去掉按钮
onclick="function1()"

function function1()
{
document.forms[x].submit();
this.style.display="none";
}
------解决方案--------------------
x为第几个表单 下标从0开始