createLink(absolute:true)生成断开的链接

时间:2011-10-12 08:44:28

标签: grails

我刚在grails应用程序中看到Controller内部的一个奇怪的行为。

我致电createLink(absolute:true, action:"action", controller:"controller")

并收到

  

的http://本地主机:8080 / [:] /控制器/动作

无论如何,我的applicationName应该出现的位置用“[:]”填充,我认为这是一个空的Map。

之前有人想过这个吗?任何解决方案?

提前致谢,

亚历

2 个答案:

答案 0 :(得分:3)

我在Config.groovy中使用依赖于环境的serverURL配置。 对于开发和测试环境,它是这样的:

  

grails.serverURL =“http:// localhost:8080 / $ {appName}”

在使用absolute:true选项创建链接时,此配置条目用作前缀。

在grails运行时更改配置文件后,grails将无法正确解析${appName}文本注入,结果将是[:]作为applicationName。

因此,只有在更改运行grails的Config.groovy文件时才会发生这种情况。

希望如果有人遇到类似的问题,这会有所帮助;)

亚历

答案 1 :(得分:2)

以前从未见过这个,你能检查一下Config.groovy是否包含

grails.app.context = "/${appName}"

同时检查application.properties是否包含

app.name=yourAppName