为什么我在Config.groovy中定义的变量不会出现在.gsp页面的grailsApplication.config对象中?

时间:2015-05-07 22:28:04

标签: grails

我正在处理已经投入生产的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']}" />

这让我疯了。任何帮助深表感谢。谢谢。

1 个答案:

答案 0 :(得分:1)

这是官方的奇怪。一定是个缓存问题。清理项目并重建所有内容后,它按预期工作。那好吧。案件结案。