我在Grails中重写URL时遇到了麻烦:
我有两个控制器BlogController
和ProjectsController
,每个控制器都有一个默认的def index = { }
和匹配的视图。
现在,当我创建以下链接时:
<g:link controller="blog">Blog</g:link>
<g:link controller="projects">Projects</g:link>
他们被翻译为http://localhost:8080/myapp/blog/index
和http://localhost:8080/myapp/projects/index
。但是希望它们(以及所有其他控制器的默认操作)没有尾随/index
。
任何人都可以帮我这么做吗?
答案 0 :(得分:3)
尝试将 link 标记中的 action 参数指定为空格。
<g:link controller="projects" action=" ">Projects</g:link>
答案 1 :(得分:1)
将此添加到您的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>