我想在grails-app/Config.groovy
的某些配置设置中包含Grails应用程序名称。我尝试了许多方法但没有成功。例如,如果我在Config.groovy
中有以下内容,
edu.appname1 = "${grailsApplication.metadata.'app.name'}"
edu.appname2 = "${application.metadata.'app.name'}"
edu.appname3 = "${metadata.'app.name'}"
edu.appname4 = "${app.name}"
我可以在Grails控制台中运行这些语句
def edu = grailsApplication.config.edu
println "${'''${grailsApplication.metadata.'app.name'} -> '''}${edu.appname1}"
println "${'''${application.metadata.'app.name'} -> '''}${edu.appname2}"
println "${'''${metadata.'app.name'} -> '''}${edu.appname3}"
println "${'''${app.name} -> '''}${edu.appname4}"
以下结果。
${grailsApplication.metadata.'app.name'} -> [:]
${application.metadata.'app.name'} -> [:]
${metadata.'app.name'} -> [:]
${app.name} -> [:]
必须有某种方法来获取此信息。
答案 0 :(得分:25)
要在grails.config.locations
中包含的配置文件中获取appName,您可以使用:
appName = grails.util.Metadata.current.'app.name'
答案 1 :(得分:2)
试试这个:
edu.appname1 = appName
或者如果要将其用作较长配置参数的一部分
edu.appname1 = "something.$appName.else"