在调用任何控制器操作之前,有没有办法执行某段代码?
我需要根据get参数的值设置会话变量,而不考虑调用哪个控制器。
当然,一旦完成此处理,请求就需要按照正常方式执行相应的控制器/操作。
由于
答案 0 :(得分:4)
听起来你想使用filter。
e.g。 的grails-app / CONF / MyFilter.groovy
class MyFilter {
def filters = {
extractSomething(controller: '*', action: '*') {
before = {
session.setAttribute('foo', params['paramName'])
}
}
}
}
答案 1 :(得分:2)
滤镜很好,但可能会变得昂贵。 你也可以尝试拦截器:
def beforeInterceptor = {
session.setAttribute('foo', params['paramName'])
}