Grails - 在 Config.groovy 内访问数据,同时在路径中使用变量
Grails - access data within Config.groovy whilst using variable in path
我知道要从 Config.groovy 文件中访问变量,
grailsApplication.config.someValue.anotherValue
我想在此路径中使用变量,因为我想从配置文件中获取 URL。值 foo 作为参数传递给方法,该方法将根据其他因素使用不同的变量多次调用。
def foo = "anothervalue"
grailsApplication.config.someValue.${ foo }.
我在配置中想要的值的实际路径与第一个实例中的相同。
我试过:
grailsApplication.config.someValue.${ foo }
grailsApplication.config.someValue${ foo }
grailsApplication.config.someValue + "${ foo }"
grailsApplication.config.someValue + ".${ foo }"
grailsApplication.config.someValue + ${ foo }
grailsApplication.config.someValue."${ foo }"
必须有效。
grailsApplication.config
returns a groovy.util.ConfigObject
like groovy.util.ConfigSlurper.parse()
所以你可以在下面的例子中看到它是如何工作的:
import groovy.util.ConfigSlurper
def configTxt = '''
prop1 {
prop2 {
person.name = 'paco'
}
}
'''
def config = new ConfigSlurper().parse(configTxt)
def foo = "prop2"
println config.prop1."${foo}" // prints [person:[name:paco]]
希望这对您有所帮助,
更自然的是 grailsApplication.config.someValue[ foo ]
我知道要从 Config.groovy 文件中访问变量,
grailsApplication.config.someValue.anotherValue
我想在此路径中使用变量,因为我想从配置文件中获取 URL。值 foo 作为参数传递给方法,该方法将根据其他因素使用不同的变量多次调用。
def foo = "anothervalue"
grailsApplication.config.someValue.${ foo }.
我在配置中想要的值的实际路径与第一个实例中的相同。
我试过:
grailsApplication.config.someValue.${ foo }
grailsApplication.config.someValue${ foo }
grailsApplication.config.someValue + "${ foo }"
grailsApplication.config.someValue + ".${ foo }"
grailsApplication.config.someValue + ${ foo }
grailsApplication.config.someValue."${ foo }"
必须有效。
grailsApplication.config
returns a groovy.util.ConfigObject
like groovy.util.ConfigSlurper.parse()
所以你可以在下面的例子中看到它是如何工作的:
import groovy.util.ConfigSlurper
def configTxt = '''
prop1 {
prop2 {
person.name = 'paco'
}
}
'''
def config = new ConfigSlurper().parse(configTxt)
def foo = "prop2"
println config.prop1."${foo}" // prints [person:[name:paco]]
希望这对您有所帮助,
更自然的是 grailsApplication.config.someValue[ foo ]