我刚在grails应用程序中看到Controller内部的一个奇怪的行为。
我致电createLink(absolute:true, action:"action", controller:"controller")
并收到
的http://本地主机:8080 / [:] /控制器/动作
无论如何,我的applicationName应该出现的位置用“[:]”填充,我认为这是一个空的Map。
之前有人想过这个吗?任何解决方案?
提前致谢,
亚历
答案 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