浏览 5991 次
锁定老帖子 主题:重复提交表单信息的提示
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-09-15
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-09-20
既然是用TOKEN, 就在SAVE方法中写上:
if (!isTokenValid(request)){ errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.transaction.token")); } resetToken(request); 上面的error.transaction.token写在你的.PROPERTIES文件里;或者你直接把它替换成"表单已经提交,不能重复提交". 在.JSP页面上嵌入<ERRORS/>标签就OK了 |
|
返回顶楼 | |
发表时间:2005-09-20
wzzwj 写道 我采用同步令牌的方式解决重复提交表单的问题,当用户第二次提交表单的时候,给客户端发送提示信息:“你已经提交了表单,同一表单不能提交两次。”我想问的是,如何让用户看到第一次提交的成功信息或失败信息,有没有什么好办法。
但是,如果用户快速提交了两次, 后台正在处理,第一次提交是否成功,你也未必能立即检测的到啊 |
|
返回顶楼 | |
发表时间:2005-09-21
我想最好的方法是在用户提交第一次的时候马上把按钮灰掉,那么用户只有在刷新页面,或者后退的时候才会产生重复提交的问题。lz的问题可以回避掉。
|
|
返回顶楼 | |
发表时间:2005-09-30
SagittariuS 写道 我想最好的方法是在用户提交第一次的时候马上把按钮灰掉,那么用户只有在刷新页面,或者后退的时候才会产生重复提交的问题。lz的问题可以回避掉。
最后采取的办法就是这样。当初是因为做实验时,没有在客户端进行控制,于是在客户端点击两次提交按钮时,服务器端给出了重复提交的信息,然而第一次提交实际上已经成功,于是就在想如何让客户端知道第一个提交已经成功。实际上就HTTP协议这种响应请求的方式是做不到的,简单的方法就是客户端服务器端一起控制。 |
|
返回顶楼 | |