当前位置:  技术问答>java相关

求最简单有效的方法---jsp如何限制同一表单被多次提交,用struts可以做到吗

    来源: 互联网  发布时间:2015-06-09

    本文导语:  求最简单有效的方法---jsp如何限制同一表单被多次提交,用struts可以做到吗 | 典型的做法是所谓的令牌系统,为每个可能提交的窗体放一个唯一的id(所谓令牌,比如放在hidden里),服务器端...

求最简单有效的方法---jsp如何限制同一表单被多次提交,用struts可以做到吗

|
典型的做法是所谓的令牌系统,为每个可能提交的窗体放一个唯一的id(所谓令牌,比如放在hidden里),服务器端(session)有一个令牌队列,存放所用提交过的窗体,每次收到提交上来的窗体,把它的令牌和队列中已经存在的令牌进行比较,判断合法性。

|
用js来解决吧
第一种方法
onclick之后把提交表单的button disabled掉,这样就没办法点了
,这个方法有bug就是,选中表单中任意一项,通过回车提交表单还是可以的,
part_time(helpme) 的方案也存在这个问题

第二种方法
onclick之后用dhtml在页面上放一个透明的div,让用户没办法选中表单项,bug是一开始就用回车提交

第三种方法
用dthml的behavior给form附着一个htc,在htc中保证表单提交前,都会放div,这种方法比较复杂,要对js很熟悉

nielinjie的方法有一个问题,表单不能重复提交是指这个表单正在提交的过程中不能再一次提交,如果这个表单信息已经被提交,回复的消息已经到客户端了,这个表单当然可以再提交拉,那么你什么时候去清空那个session,什么时候去加令牌呢?,如果在信息还没有传到服务器,又提交了一次怎么办?

ps,顺便说一句,jarkata的struts不能解决这个问题

|





function mySubmit() {
  if (document.form1.submitFlg == 0) {
    document.form1.submit();
    document.form1.submitFlg == 1;
  }
}

    
 
 

您可能感兴趣的文章:

  • 表单用enctype="multipart/form-data"二进制流形式提交的话,除了file,其他的表单控件应该用什么方法接收呢?
  • 使用jQuery重置(reset)表单的方法
  • 几种防止表单重复提交的方法
  • asp.net防止后退与重复提交表单的简单方法
  • 点击表单提交时出现jQuery没有权限的解决方法
  • PHP防止表单重复提交的几种常用方法汇总
  • jQuery获取和设置表单元素的方法
  • jquery将一个表单序列化为一个对象的方法
  • 在Servlet中方法doGet和doPost分别实现什么功能,Html中表单的get、post方法我就不明白
  • 字段太多jquey快速清空表单内容方法
  • jquery提交form表单时禁止重复提交的方法
  • php 表单提交大量数据发生丢失的解决方法
  • jquery重置reset表单内容的多个方法
  • 有没有好方法处理500个表单?
  • jquery 实现文本框textarea中ctrl+enter提交表单的方法
  • 如果表单类型设为ENCTYPE="multipart/form-data",就不能用request.getParameter()方法了吗?为什么?
  • jquery的attr方法禁用表单元素禁用输入内容
  • ASP.Net中表单POST到其他页面的方法分享
  • 一个页面表单的中文信息究竟如何才能顺利通过提交传到另一个页面,试了好多方法都不行
  • php表单提交特殊字符过滤方法
  • c#.net防止按F5刷新页面重复提交的方法
  • 怎样用方法使页面提交
  • Asp.net防止重复提交的实现方法
  • getParameter是不是将页面提交的数据保存到数据库的唯一方法?谢谢
  • Asp.net防止后退、刷新重复提交的方法
  • IE浏览器在post提交时中文乱码的解决方法
  • jsp无法提交nicEdit中的内容的解决方法
  • 请问用post方法提交的内容是采用什么编码格式的.其中的中文该如何解码?
  • Asp.net弹出窗口同时防止刷新重复提交的方法
  • jquery ajax提交无响应怎么办?解决方法
  • 操作系统 iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何做到同步一个类中定义的一个方法?
  • 解析Android中如何做到Service被关闭后又自动启动的实现方法
  • java命名空间java.awt.im类inputcontext的类成员方法: getinputmethodcontrolobject定义及介绍
  • 实现在同一方法中获取当前方法中新赋值的session值解决方法
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: getcontrolobject定义及介绍
  • 突然想到一个奇怪的问题:如果一个非abstract类中包含一个空方法体(及非Java代码写的方法体是空的)的native方法,编译会通过吗?
  • java命名空间java.lang类runtime的类成员方法: runfinalization定义及介绍
  • 构造方法到底怎么用,构造方法体中可以放些什么东西,它和一般方法有什么本质区别功能上
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: dispose定义及介绍
  • jquery中slideUp()方法与slideDown()方法
  • java命名空间javax.swing类rowsorter<m>的类成员方法: allrowschanged定义及介绍
  • jquery中fadeIn()方法与fadeOut()方法(示例)
  • java命名空间java.lang类securitymanager的类成员方法: getsecuritycontext定义及介绍
  • 这句话对不对 用final修饰的方法是不能被该类的子类所重载的方法 ?
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: hidewindows定义及介绍
  • finalize()方法与System.runFinalization()方法有什么区别
  • java命名空间java.beans类statement的类成员方法: execute定义及介绍
  • 关于“创建重载现存方法的方法”
  • java命名空间java.lang类stacktraceelement的类成员方法: getmethodname定义及介绍
  • 关于多线程的奇怪问题,run()方法只会被start()方法自动启动一次吗?
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: activate定义及介绍
  • append()方法在哪些类里有啊?分别有什么作用?老是看到这个方法
  • java命名空间javax.swing类jcomponent的类成员方法: processcomponentkeyevent定义及介绍
  • servlet的service()方法与doGet()、doPost()方法是什么关系?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3