我正在尝试获取一些YML配置值,并且可以确认获得了正确的值。问题是当我尝试执行一些if statement
时,即使它是always true
,它的值也似乎是suppose to be false
。我的配置如下所示:
locale
useLangSubDir: false
代码是:
def language = ""
def useLangSubDir = grailsApplication.config.getProperty("ciab.locale.useLangSubDir")
if (useLangSubDir) { // always true
language = "/" + WebUtils.retrieveGrailsWebRequest().getCurrentRequest().activeLocale
}
最佳答案
default config属性类型(从getProperty
开始为String)
因此,您得到的字符串"false"
在Groovy真理中是true
,因为它不是null或为空。
您需要做:
def useLangSubDir = grailsApplication.config.getProperty("ciab.locale.useLangSubDir", Boolean, false)
以
Boolean
的形式获取(默认为false
)关于grails - YML配置在Grails中始终是真实的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44764638/