我希望我的模板能够更智能地生成 Controller 。在我的域类中,我指定了一个枚举,其中包含应添加到 Controller 中的安全注释中的属性。
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;
}
}
我希望模板在生成 Controller 时查看此枚举并在 Controller 中创建安全注释。我经常使用模板,运行 generate-all
然后必须为我的所有 Controller 添加安全注释是一个主要烦恼。
我的问题是,我在从模板访问枚举时遇到问题,因为我无法获取域类。
我通常会得到这样的域类:
grailsApplication.getArtefact( "Domain", "myDomainClass" )?.getClazz()
但是 grailsApplication
在模板中不可用。
还有什么其他 Grails/Groovy 方法可以获取类或使 grailsApplication
可用?
最佳答案
在脚手架模板中,您有一个可用的 domainClass
变量,其中包含 GrailsDomainClass
,因此 domainClass.clazz
应该为您提供您想要的内容需要。
关于templates - 如何给模板添加安全注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365577/