我想访问在filter中声明的变量

时间:2012-04-11 07:16:31

标签: grails filter before-filter

def filters = {
     forUser(controller:'user', action:'*') {
         before = {
            user=springSecurityService.getCurrentUser()
            log.info("came to filter and the user is" + user)
         }
         after = {

         }
         afterView = {

         }
     }
}

我想在用户控制器中访问此用户变量。 是否可以不制作会话变量?

2 个答案:

答案 0 :(得分:1)

您可以使用请求范围变量:

request.setAttribute('user', user)

并在GSP中使用它:

${user}

或在控制器中:

request['user']
//or
request.user

答案 1 :(得分:1)

我会用

 params.user = user

然后您可以在控制器中以

的形式访问它
 params.user

和你的gsp:

 ${params.user}

非常简洁