Grails - 在路径中使用变量时访问Config.groovy中的数据

时间:2015-05-29 12:14:23

标签: grails config

我知道要从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 }

2 个答案:

答案 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 ]