[英]Why doesn't my variable defined in Config.groovy appear in the grailsApplication.config object in a .gsp page?
我正在处理已经在生产中的Grails 2.4.2应用程序。 我需要找到一种在GSP页面中动态选择徽标图像的方法。 当前页面具有这样的硬编码:
<div id="logo">
<img src="/${grailsApplication.metadata['app.name']}/images/logo.png" />
</div>
因此,我认为如果在Config.groovy文件中将图像名称声明为变量“ logoName”,则可以这样引用它:
<div id="logo">
<img src="/${grailsApplication.metadata['app.name']}/images/${grailsApplication.config.getProperty('logoName')}" />
</div>
但是,这不起作用。 如果仅在页面中打印出ConfigSlurper对象的值,则它包含整个键/值对集合,但不包含我的变量。 Config.groovy文件没有什么神奇之处,而我的变量只是像这样声明:
logoName = 'foo.png'
我正在使用以下方式启动该应用程序:
grails RunApp
我还尝试了访问变量/属性的语法的不同变体,但无济于事。 喜欢:
<div id="logo"><img src="/${grailsApplication.metadata['app.name']}/images/${grailsApplication.config.logoName}" />
和
<div id="logo"><img src="/${grailsApplication.metadata['app.name']}/images/${grailsApplication.config.['logoName']}" />
这让我发疯。 任何帮助深表感谢。 谢谢。
这在官方上是奇怪的。 一定是一个缓存问题。 清理项目并重建所有内容后,它会按预期工作。 那好吧。 案件结案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.