Grails - 使用Routes隐藏/ index Action

时间:2011-08-02 19:37:22

标签: grails routes url-routing

在Grails应用程序中使用路径隐藏/ index操作的正确方法是什么?

我希望能够重定向到控制器:“profile”,action:“index”但是网址看起来像是 http://foobar.com/profile

http://foobar.com/profile/index

2 个答案:

答案 0 :(得分:13)

UrlMappings.groovy

static mappings = {
      "/profile"(controller:"profile", action: "index")
}

或者您可以在Controller中设置默认操作

class BookController {
    static defaultAction = "index"
}

如果您想要从控制器中的操作中重定向到该URL ..

redirect uri: '/profile'  // This one for the UrlMappings solution

redirect controller: 'profile'  // This one for the defaultAction solution.

答案 1 :(得分:3)

"/foo/" (controller:"foo", action:"index")

这是在UrlMapping.groovy中。 UrlMapping.groovy可以双向工作,这意味着g:指向控制器foo和动作索引的链接也会生成缩短的URL。

您需要为每个控制器索引执行此操作。

我尝试过设置:

"/$controller" {}

但是没有雪茄,也许别人知道这是如何起作用的。

编辑: 哈,我开始在你尼克之前写这个答案,然后花了10分钟测试了$控制器东西的各种组合: - )