在XPage中防止多次提交的最佳方法是什么?

时间:2012-06-17 11:03:09

标签: xpages

当我使用XPage时,阻止多次提交的最佳方法是什么?

对于“经典网络”解决方案如下。 如何从Web阻止同一文档的多个提交 http://www-304.ibm.com/support/docview.wss?uid=swg21089865

使用jQuery,解决方案如下。 http://www.norio.be/blog/2008/09/using-jquery-prevent-multiple-form-submissions

但我不知道Xapges的方式。如何在XPages或Dojo中阻止它?

2 个答案:

答案 0 :(得分:1)

最好来应用此类客户端技术,因为结合不可靠的互联网连接,用户可能会发现提交失败但无法重试。

更强大的解决方案是在服务器端进行重复数据删除,这可以通过多种方式完成;这些是我想到的:

  1. 定义表单内容的语义,以便在收到两个请求时无关紧要(例如,如果它正在更新记录,则第二次更新不会改变任何内容)。
  2. 如果您之前看过完全相同的提交(比较所有相关字段),请忽略它。
  3. 将表单发送到客户端时生成序列号。不接受具有您之前见过的序列号的提交 - 或做一些有用的事情;例如,如果是博客发布或评论表单,则第二次提交应被视为第一次提交创建的帖子的编辑

答案 1 :(得分:0)

您可以使用XSP.addQuerySubmitListener阻止提交并返回false。这不是最容易上班的功能。因此,我建议您查看“Xpages Portable Command Guide”一书中的功能,或者在OpenNTF上尝试我的项目多文件上传器。下载项目源代码here