代码之家  ›  专栏  ›  技术社区  ›  Jasper wontondon

正在重写控制器中默认操作的URL

  •  2
  • Jasper wontondon  · 技术社区  · 14 年前

    在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 .

    有人能帮我吗?

    2 回复  |  直到 14 年前
        1
  •  3
  •   amra    14 年前

    尝试指定 行动 参数在 链接 标签作为空间。

    <g:link controller="projects" action=" ">Projects</g:link>
    
        2
  •  1
  •   Colin Harrington    14 年前

    试用使用 a Named URL Mapping

    将此添加到 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>