通过Intelli-J启动grails-app,将root设置为localhost:8080 /而不是localhost:8080 / app,或者修改createLink?

时间:2011-02-14 06:45:53

标签: grails groovy intellij-idea url-mapping

有没有办法通过Intelli-J启动应用程序,以便它使localhost:8080/成为应用程序的根目录?我遇到的问题是在本地工作的AJAX网址在生产中不起作用,而createLink(action:"ajaxUpdate")似乎创建了对/app/ajaxUpdate的引用,createLink在本地工作但不在生产中。

有没有办法解决/ajaxUpdate在两个地方的工作?我想也许我可以使用UrlMappings使所有的ajax调用都很漂亮而只是引用{{1}},但这不起作用,因为grails应用程序是如何在Intelli-J中部署的。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

关于您的问题,在 grails-app / conf / Config.groovy 中,您可以指定服务器网址,如下所示:

environments {
    production {

        grails.serverURL = "http://localhost/"  // Specify the "root" of your link
        ....
    }

    development {
        grails.serverURL = "http://localhost:8080/${appName}"
        ...
    }
    ...
}

然后createLink方法应该没问题。据我所知,这是关于Grails配置,与IntelliJ无关。

编辑:似乎我错过了一些信息:要使createLink从“http:// localhost /”开始,有必要在Config.groovy中添加另一行:

grails.app.context = "/"