【问题标题】:Grails app index page URLGrails 应用程序索引页面 URL
【发布时间】:2013-07-26 21:56:08
【问题描述】:

我正在尝试缩短 URL 以访问我的 grails 应用程序。目前我能做到的最短时间是

http://myserver:8080/helloWorld/helloWorld/

HelloWorld 是控制器名称和应用程序名称。我能不能让它更短一些,所以它只是

http://myserver:8080/helloWorld/

我已将 URL 映射设置为

class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(view:"/index")
        "500"(view:'/error')
    }
}

【问题讨论】:

    标签: grails gsp


    【解决方案1】:

    您可以通过更改将HelloWorldController 设为默认网址

    "/"(view:"/index")
    

    "/"(controller: 'helloWorld')
    

    这使用该控制器中的默认操作(可能是index());如果您想要不同的操作,请执行以下操作:

    "/"(controller: 'helloWorld', action: 'theOtherName')
    

    【讨论】:

    • 我可以在不更改控制器名称的情况下将 URL 的名称从 helloWorld 更改为其他名称吗
    • 是的,正如@ataylor 在他的回答中提到的,您可以使用grails.app.context 更改上下文;在他的示例中它是空白的,但您可以将其更改为任何内容,例如grails.app.context = "/foo"
    【解决方案2】:

    如果您只有一个控制器,则无需在 URL 中包含它。您可以使用以下映射:

    static mappings = {
        "/$action?/$id?"(controller:'helloWorld')
        "500"(view:'/error')
    }
    

    在这种情况下,http://myserver:8080/helloWorld/ 将转到 HelloWorldController.index(),而不是提供 index.gsp 视图。

    前导helloWorld 也是可选的。将这些行添加到您的 Config.groovy 以使用根上下文:

    grails.app.context = "/"
    grails.serverURL = "http://myserver:8080"
    

    结合这两者将允许您通过http://myserver:8080/ 访问您的应用。

    【讨论】:

    • 在 grails 2.5.4 中,我只需要设置 2 个属性之一就可以使用 url 的根作为我的索引:grails.app.context = "/"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2012-05-29
    • 2010-09-16
    • 2014-04-15
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    相关资源
    最近更新 更多