grails - 通过 Intelli-J 启动 grails-app 并将 root 设置为 localhost :8080/instead of localhost:8080/app, 或修改 createLink?

标签 grails groovy intellij-idea url-mapping

有没有办法通过 Intelli-J 启动应用程序,使其 localhost:8080/应用程序的根?我遇到的问题是本地工作的 AJAX url 在生产环境中不起作用,并且 createLink(action:"ajaxUpdate")似乎创建了对 /app/ajaxUpdate 的引用,它在本地有效,但在生产中无效。

有没有办法修复createLink在两个地点工作?我想也许我可以使用 UrlMappings 来使所有 ajax 调用变得漂亮,并且只需引用 /ajaxUpdate ,但这不起作用,因为 grails 应用程序在 Intelli-J 中的部署方式不同。

如何解决这个问题?

最佳答案

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

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 = "/"

关于grails - 通过 Intelli-J 启动 grails-app 并将 root 设置为 localhost :8080/instead of localhost:8080/app, 或修改 createLink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989528/

相关文章:

unit-testing - 使用 Controller 的 Grails Spock 单元测试断言 View

grails - Grails <g:消息代码=“”/>和$ {message(code)}之间的区别

spring-mvc - Grails 验证 delete() 操作?

intellij-idea - 如何在Idea中的tomcat运行配置中设置context.xml

java - IntelliJ 中简单的 Java 项目/模块模板在哪里?

intellij-idea - 如何恢复intellij运行/调试窗口/选项卡的默认布局?

authentication - Grails Micro Service外部化身份验证

grails - grails many_to_many自定义映射表

class - Groovy 为我的类(class)设置 .each 行为

java - Java 脚本引擎中的字符串表达式插值支持