Grails - cross controller code, execute on every request

老子叫甜甜 提交于 2019-12-05 22:01:01

Sounds like you want to use a filter.

e.g. grails-app/conf/MyFilter.groovy

class MyFilter {
    def filters = {
        extractSomething(controller: '*', action: '*') {
            before = {
                session.setAttribute('foo', params['paramName'])
            }
        }
    }
}

filters are good if used with multiple or all controllers but could get expensive. you may also try interceptors:

def beforeInterceptor = {
       session.setAttribute('foo', params['paramName'])
}

http://www.grails.org/Controllers+-+Interceptors

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!