问题在Grails taglib中获取动态配置参数 [英] issue getting dynamic Config parameter in Grails taglib

查看:130
本文介绍了问题在Grails taglib中获取动态配置参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  String srcProperty =$ {attrs ['src' ]}。audio+((attrs ['locale'])?_ $ {attrs ['locale']}:'')

assert srcProperty ==prompt.welcomeMessageOverrideGreeting.audio

其中我的配置有:

 提示{
welcomeMessageOverrideGreeting {
audio =/en/someFileName.wav
txt =文本替代/en/someFileName.wav
audio_es =/es/promptFileName.wav
txt_es =Texto alternativo para /es/someFileName.wav
}
}



虽然这工作正常:

  String audio = $ {config.prompt.welcomeMessageOverrideGreeting.audio}

和:
assert$ {config.prompt.welcomeMessageOverrideGreeting.audio}==/en/someFileName.wav



我无法得到这个工作:

  String audio = config.getProperty(prompt.welcomeMessageOverrideGreeting.audio)


解决方案

解决方案:这真的很难,但这里是我发现获得动态属性的原因:

  String audio = srcProperty.tokenize('。').inject(config){cfg,pr  - > cfg [pr]} 

我博客了一下:
http://www.baselogic .com / blog / development / grails-groovy-development / configslurper-with-dynamic-property-name-from-configurationholder-config-object

I have a dynamic config parameter I want to get like:

    String srcProperty = "${attrs ['src']}.audio" + ((attrs['locale'])? "_${attrs['locale']}" : '')

    assert srcProperty == "prompt.welcomeMessageOverrideGreeting.audio"

where my config has:

prompt{
    welcomeMessageOverrideGreeting {
        audio = "/en/someFileName.wav"
        txt = "Text alternative for /en/someFileName.wav"
        audio_es = "/es/promptFileName.wav"
        txt_es = "Texto alternativo para /es/someFileName.wav"
    }
}

While this works fine:

String audio = "${config.prompt.welcomeMessageOverrideGreeting.audio}"

and: assert "${config.prompt.welcomeMessageOverrideGreeting.audio}" == "/en/someFileName.wav"

I can not get this to work:

String audio = config.getProperty("prompt.welcomeMessageOverrideGreeting.audio")

解决方案

SOLVED: This was REALLY tough, but here is what I found that worked to get a dynamic property:

String audio = srcProperty.tokenize( '.' ).inject( config ) { cfg, pr -> cfg[ pr ] }

I blogged about it: http://www.baselogic.com/blog/development/grails-groovy-development/configslurper-with-dynamic-property-name-from-configurationholder-config-object

这篇关于问题在Grails taglib中获取动态配置参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆