按键访问存储在映射中的配置变量

时间:2014-12-28 23:31:18

标签: grails groovy

我在Groovy中有一个变量,如下所示:

project.Map
{
    time.'1 1   * ?' =  ['T1']
    time.'2 1   * ?' =  ['T2']
    templates.'T1'   =   ['Z','X','Y']
    templates.'T2'      =   ['Q']
}

抱歉,当我尝试访问个人时,我是groovy的新手 project.map中的变量值我如何访问它们

我尝试了类似下面的内容

log.info(grailsApplication.config.project.Map.time[1]) 
log.info(grailsApplication.config.project.Map.get('time.'2 1   * ?'' ))
log.info(grailsApplication.config.project.Map.get('time[0]' ))
log.info(grailsApplication.config.project.Map.time.get('1 1   * ?'))

但它们都打印空值或对象引用。我是如何访问值的 时间和模板都在for循环中,没有它。

1 个答案:

答案 0 :(得分:4)

请参阅http://grails.org/doc/latest/guide/conf.html#config了解允许配置嵌套的方式。特别提到你的外部语法是不允许的:

  

但是,使用点表示法后,您无法嵌套。换句话说,这不会起作用:

// Won't work!
foo.bar {
    hello = "world"
    good = "bye"
}

你必须把它写成

project { Map { ... } }

内部虚线部分(带有分配)是可以的(根据文档)