2

我在 Grails 中重写 URL 时遇到问题:

我有 2 个控制器BlogControllerProjectsController每个控制器都有一个默认def index = { }和匹配的视图。

现在,当我创建以下链接时:

<g:link controller="blog">Blog</g:link>
<g:link controller="projects">Projects</g:link>

他们被翻译成http://localhost:8080/myapp/blog/indexand http://localhost:8080/myapp/projects/index。但是希望它们(以及所有其他控制器的默认操作)没有尾随/index.

谁能帮我做到这一点?

4

2 回答 2

3

尝试将链接标签中的动作参数指定为空格。

<g:link controller="projects" action=" ">Projects</g:link>
于 2010-08-12T20:48:08.523 回答
1

尝试使用命名 URL 映射

将此添加到您的grails-app/conf/UrlMappings.groovy

    name blog: "/blog" {
            controller = "blog"
            action = "index"
    }
    name projects: "/projects" {
            controller = "projects"
            action = "index"
    }

并更改您的链接以使用映射参数:

<g:link mapping="blog">Blog</g:link>
<g:link mapping="projects">Projects</g:link>
于 2010-08-12T19:31:09.017 回答