我创建了一个扩展类BuilderSupport
的groovy DSL,它现在看起来像这样:
def menu = new MenuBuilder().create {
item "something.label" : "something"
item "other.label" : "other"
item "asd.label": "asd", {
"test.label": "test"
}
}
其中create
实际上不是函数,它只是根节点的标准名称,
item "X": "Y"
表示一个菜单项,其中 X 是标签, Y 是项目的目标控制器。
DSL已经在运作。我的问题是如何才能实现它,这样您就可以在单独的文件中指定DSL,然后在Grails应用程序启动时加载它,类似于Grails的Bean的DSL和约束的DSL。
该文件中只包含以下代码。
{
item "something.label" : "something"
item "other.label" : "other"
item "asd.label": "asd", {
"test.label": "test"
}
}
感谢您的关注
答案 0 :(得分:0)
您可以在外部配置文件中指定DSL,并在主配置中加载该外部配置。
DSL将像所有其他配置一样可用
这个答案应该有所帮助:Grails - Cannot read externalized configuration values