我正在处理已经投入生产的Grails 2.4.2应用程序。我需要找到一种在GSP页面中动态选择徽标图像的方法。当前页面的硬编码如下:
<div id="logo">
<img src="/${grailsApplication.metadata['app.name']}/images/logo.png" />
</div>
所以我想如果我将图像的名称声明为变量&#39; logoName&#39;在 Config.groovy 文件中,我可以像这样引用它:
<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']}" />
这让我疯了。任何帮助深表感谢。谢谢。
答案 0 :(得分:1)
这是官方的奇怪。一定是个缓存问题。清理项目并重建所有内容后,它按预期工作。那好吧。案件结案。