【问题标题】:About Grails render's doubts关于 Grails render 的疑惑
【发布时间】:2015-12-23 09:15:52
【问题描述】:

我写了一个简单的filter render的例子,结果很失望,不明白为什么会出现这种情况

谁能帮我解答。

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

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???

【问题讨论】:

  • 如果站点托管在您的计算机 (locahost) 上,我们将无法看到它。您能解释一下正在发生的事情以及您预计会看到什么吗?
  • 你的问题不清楚

标签: grails grails-plugin


【解决方案1】:

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

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

【讨论】:

  • 如果 (!controllerName) 返回 true
猜你喜欢
  • 2011-11-27
  • 1970-01-01
  • 2022-01-21
  • 2014-08-17
  • 1970-01-01
  • 2012-01-29
  • 2014-04-30
  • 1970-01-01
  • 2012-08-20
相关资源
最近更新 更多