【问题标题】:AfterInterceptor does not work in Grails 3.0.1 anymoreAfterInterceptor 不再在 Grails 3.0.1 中工作
【发布时间】:2015-05-26 21:31:20
【问题描述】:

我注意到 afterinterceptor 不再在 Grails 3.0.1 控制器中工作。相同的代码适用于 Grails 2.4.4。这是我的控制器代码:

class TestAfterInterceptController {

    def afterInterceptor = { model, modelAndView ->
        println "##################################################"
        println "Current view is ${modelAndView.viewName}"
    }

    def index() {
        println "##################################################"
        render 'Hello world'
    }
}

当我用http://localhost:8080/testAfterIntercept 调用控制器时,它完全忽略了 after 拦截器方法,它只打印 index() 方法中的内容。

【问题讨论】:

    标签: grails


    【解决方案1】:

    控制器级别的拦截器尚未在 Grails 3.0 中实现,因为我们有了新的 Interceptor 类型。见http://grails.github.io/grails-doc/latest/guide/theWebLayer.html#interceptors

    如果有足够的需求,我们将恢复控制器级别的拦截器。

    【讨论】:

    • 我认为最好在 Grails 2.x 迁移到 Grails 3 迁移文档中提及它,因为它可能会在没有提前通知的情况下破坏很多控制器。
    • 此外,此快速参考指南链接仍然积极引用后拦截器,这有点误导。 grails.github.io/grails-doc/latest/ref/Controllers/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2019-10-07
    • 2015-06-16
    • 1970-01-01
    相关资源
    最近更新 更多