forms - Grails-重复的表单提交处理-withForm {}如何工作?

标签 forms grails duplicates form-submit

我正在尝试在Grails应用程序中处理重复的表单提交。因此,我在表单中设置了useToken="true",这就是我尝试在 Controller 中使用withForm方法的方式:

def myControllerAction {
    withForm {
       *my action's logic*
    }
}

但是,我最终在浏览器中看到了:Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects.
因此,我想我使用的方法不正确,并且在网络上找不到如何正确使用该方法的任何示例。

在这方面的任何帮助将非常有帮助。
预先谢谢你。

最佳答案

您的示例中实际上并没有太多内容:简短的答案是,如果 token 无效,您必须做一些事情来引起重定向。

Grails Manual显示了如何使用它。

逻辑上所做的就是将一个具有唯一值的隐藏字段放入其中。该值存储在 session 中,因此您的 session 必须正常工作(如果在群集环境中托管,则需要 session 亲和性或共享 session )。提交表单后,它将查找该唯一值,并确定它是否已提交。

您似乎在任何地方都没有处理invalidToken,因此您可能正在处理 token 未正确存储或正确传递且逻辑导致重定向的情况。如果要使用get而不是post进行重定向,则可能会导致重定向循环。 (即使第一次正确处理 token ,这也可能导致重定向循环。)

我会看一下您的代码,找出重定向的来源。它不是直接由 token 引起的。

关于forms - Grails-重复的表单提交处理-withForm {}如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441372/

相关文章:

javascript - 在 WordPress 表单管理器中一键提交多个表单

tomcat - 在AWS Elastic Beanstalk上启动期间Grails 4 App停顿

python - 删除集合列表的重复项

python - 如何使用 Python Requests 登录这个特定的网站?

jquery - 出现 "Object #<NodeList> has no method ' click'"错误?

html - 蜜 jar 技术还有效吗?

matlab - 删除重复项 - ** 仅当重复项按顺序出现时

java - 如何注入(inject)实现在 Java 或 Groovy 代码中调用的接口(interface)方法的类?

grails - Grails框架:groovy.lang.MissingMethodException:方法无签名

java - java中两个字符串的字符串长度错误?