grailsApplication.config.grails.binRange处的代码失败。谁能解决这个问题?

grailsApplication.config.grails.binRange处的代码失败。谁能解决这个问题?,grails,grails-3.3.x,Grails,Grails 3.3.x,我们正在将Grails2.4.4升级到3.6.6,但代码在grailsApplication.config.grails.binRange中失败。知道我为什么不能从配置中访问grails吗。任何人都可以解决这个问题?Grails 3应用程序的默认配置文件是Grails app/conf/application.yml。在此文件中,支持YAML语法 GrailsApplication接口定义了返回Config对象的getConfig方法。Spring应用程序上下文中有一个名为grailsAppli

我们正在将Grails2.4.4升级到3.6.6,但代码在grailsApplication.config.grails.binRange中失败。知道我为什么不能从配置中访问grails吗。任何人都可以解决这个问题?

Grails 3应用程序的默认配置文件是
Grails app/conf/application.yml
。在此文件中,支持YAML语法

GrailsApplication接口定义了返回Config对象的
getConfig
方法。Spring应用程序上下文中有一个名为
grailsApplication
的bean,它是实现
grailsApplication
接口的类的实例。从这个bean中检索配置对象是访问配置值的一种方法

例如: grails-app/conf/application.yml

max:
    line:
        numbers: 42

grails-app/init/BootStrap.groovy

import grails.core.GrailsApplication

class YourController{

    GrailsApplication grailsApplication

        // retrieve the max.line.numbers config value
        def maxLineNumbers =  grailsApplication.config.getProperty('max.line.numbers')

}
参考和


希望这能帮助你

非常感谢Rahul,这对我非常有用。嗨Rahul,谢谢你的回答,因为它对我也很有用。您知道application.yml文件中定义的配置是否可以通过执行类似${grailsApplication.config.max.line.numbers}的操作直接从gsp模板访问吗?或者我必须将bean添加到相应的控制器中才能使其可用吗?谢谢:)@ZvKa在gsp中你可以使用这个
${grailsApplication.config.get('max.line.numbers')}
谢谢Rahul!最后一个问题虽然有点无关,但因为你听起来像是Grails专家……我试图使用Assets插件来打包javascript库,特别是ArcGIS JS API,但我没有成功,我认为这是因为库使用AMD加载。你知道这是不是真的吗?再次感谢。
import grails.core.GrailsApplication

class YourController{

    GrailsApplication grailsApplication

        // retrieve the max.line.numbers config value
        def maxLineNumbers =  grailsApplication.config.getProperty('max.line.numbers')

}