我希望我的模板更灵活地生成控制器。在我的域类中,我已经指定了一个枚举,其中包含应该添加到控制器中安全性注释的属性。
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
可用?
答案 0 :(得分:2)
在脚手架模板中,您可以使用domainClass
变量,其中包含GrailsDomainClass
,因此domainClass.clazz
可以为您提供所需的内容。