如何向模板添加安全注释?

时间:2012-07-06 15:50:23

标签: templates grails groovy

我希望我的模板更灵活地生成控制器。在我的域类中,我已经指定了一个枚举,其中包含应该添加到控制器中安全性注释的属性。

static enum SecurityProperties {
    ROLE_SUPER_USER( "ROLE_SUPER_USER" ),
    IS_AUTHENTICATED_FULLY( "IS_AUTHENTICATED_FULLY" )

    SecurityProperties( String s ) {
        this.s = s
    }

    @Override
    public String toString() {
        return s;
    }        
}

我希望模板能够查看此枚举,并在生成控制器时在控制器中创建安全注释。我经常使用模板,运行generate-all是一个很大的烦恼,然后必须为我的所有控制器添加安全注释。

我的问题是我在从模板访问枚举时遇到问题,因为我无法获取域类。

我通常会得到这样的域类:

grailsApplication.getArtefact( "Domain", "myDomainClass" )?.getClazz()

但模板中没有grailsApplication

还有什么其他Grails / Groovy方式可以上课或让grailsApplication可用?

1 个答案:

答案 0 :(得分:2)

在脚手架模板中,您可以使用domainClass变量,其中包含GrailsDomainClass,因此domainClass.clazz可以为您提供所需的内容。