问题在Grails taglib中获取动态配置参数 [英] issue getting dynamic Config parameter in Grails taglib
本文介绍了问题在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]}
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屋!
查看全文