我知道要从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 }
答案 0 :(得分:2)
grailsApplication.config.someValue."${ foo }"
必须有效。
grailsApplication.config
会返回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]]
,因此您可以在以下示例中查看其工作原理:
val titles_rdd = (for {
json <- jsons
jmap <- json
jtitle <- jmap.get("dc:title")
} yield jtitle) zipWithIndex
希望这有帮助,
答案 1 :(得分:1)
更自然的是grailsApplication.config.someValue[ foo ]