关于Grails渲染的疑问

时间:2015-12-23 09:15:53

标签: grails grails-plugin

我写了一个简单的过滤器渲染示例,结果非常令人失望,不明白为什么会出现这种情况

谁能为我回答。

1.环境: Grails版本:2.3.7,JDK:1.8 2.程序文件: 我的Fiflter:

class MyFilterFilters {

def filters = {

    all(controller:'*', action:'*') {

        before = {

            if (!controllerName) return true



            if(!session.user && controllerName !='myRender')

            {

                println "------------------------"

                render view:"/login"

                return false

            }

        }
        after = { Map model ->
        }

        afterView = { Exception e ->
        }
    }
}

}

我的控制器:

class MyRenderController {
def index() {
    render text:"any message!!!"
    return
}

}

我的登录页面(login.gsp):

This is login page
  1. 测试结果: 网址:http://localhost:8080/renderTest/ why???

1 个答案:

答案 0 :(得分:0)

使用您的代码,您的登录页面也将被过滤,因此它将进入无限循环。

def filters = {
    allExceptIndex(controller:"site",action:"index",invert:true) { // make proper change for controller and index
        before = {
        }
        after = { Map model ->
        }
        afterView = { Exception e ->
        }
    }
}