【发布时间】:2009-09-03 08:32:52
【问题描述】:
我有一个 grails 标签库 TpTagLib,我想在其中定义 4 个新标签,它们仅在一个常量值上有所不同,所以我尝试使用 curry。 但是有一个例外:groovy.lang.MissingPropertyException: No such property: attr for class: TpTagLib
有谁知道为什么会发生这个异常? 代码如下:
def ifPermsTag = { permissions, attr, body ->
def user = attr?.user ?: session.userInstance
if( !user ) return false
if( !securityService.hasPermissions(user,permissions) ) return false
out << body()
return true
}
def canAdminRequestmaps = ifPermsTag.curry(Permission.CAN_ADMIN_REQUESTMAPS)
def canAdminCorporations = ifPermsTag.curry(Permission.CAN_ADMIN_CORPS)
def canAdminUsers = ifPermsTag.curry(Permission.CAN_ADMIN_USERS)
def canAdminDevices = ifPermsTag.curry(Permission.CAN_ADMIN_DEVICES)
【问题讨论】:
-
有可以发布的堆栈跟踪吗?
-
好吧,现在我觉得自己很笨。我再次尝试了相同的代码,只是从这个地方复制粘贴,它工作了。
标签: grails tags closures currying