grails - 为什么在Grails 3.3.3上,重定向操作还会传递HTML表单参数?

标签 grails grails-3.3

我有一个带有几个 Controller 的简单Grails Web应用程序。
在grails 3.2.6上一切正常,但是升级到Grails 3.3.3之后,我注意到HTML表单发布操作有奇怪的行为。

例如,对于名为“订阅服务器”的域对象,在编辑实例后,我在浏览器导航栏上看到:

subscriber/show/16?_method=PUT&version=2&username=test[......]

Controller 代码段(标准脚手架 Controller )为
@Transactional
def update(Subscriber subscriber) {
    if (subscriber == null) {
        transactionStatus.setRollbackOnly()
        notFound()
        return
    }

    if (subscriber.hasErrors()) {
        transactionStatus.setRollbackOnly()
        respond subscriber.errors, view:'edit'
        return
    }

    subscriber.save(flush:true)

    request.withFormat {
        form multipartForm {
            flash.message = message(code: 'default.updated.message', args: [message(code: 'subscriber.label', default: 'Subscriber'), subscriber.id])
            redirect subscriber
        }
        '*'{ respond subscriber, [status: OK] }
    }
}

最佳答案

这是一个已修复的错误,该修复程序应包含在Grails 3.3.4中。

参见https://github.com/grails/grails-core/issues/10965

关于grails - 为什么在Grails 3.3.3上,重定向操作还会传递HTML表单参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49653052/

相关文章:

用于在 grails 中插入的 Sql 查询

grails - 如何在 Grails 3 中访问普通 groovy 类中的数据源?

twitter-bootstrap - Grails 3.3.2中的Bootstrap错误

caching - Grails为什么我的缓存失效了?

grails - 如何在Grails中添加jdbc驱动程序以访问Ingres数据库

java - Groovy/Grails - Jollyday CalenderUtil - 无方法签名

Grails 和 IntelliJ 缓存问题

grails - 在 grails 3 应用程序中,什么是微调器,我需要 application.js 吗?

grails - 使用对象列表进行Grails自定义验证

Grails 3.3 执行H2脚本命令