4

大家好,我有一个关于 grails 中的 urlmapping 的问题。我正在尝试使用页面名称和 id 使 seo 友好的 url。我在我的 URLMapping 中得到了以下信息:

class UrlMappings {

static mappings = {
    "/$id/$name"{
        controller = "page"
        action = "view"
    }
    "500"(view:'/error')
    "/"(controller:"index")
  }
}

女巫正在工作,但是.... urlbar 中的 id 不会清除,所以我第一次单击链接时一切正常:http://localhost:8080/SuurdGasControl/2/Gasmetingen

但对于下一页,它显示:http://localhost:8080/SuurdGasControl/2/6/Ontgassen

请注意,ID“2”尚未删除...

有什么帮助或想法吗?

更新

URLMapping 现在看起来像这样:

class UrlMappings {

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

    name stfu: "/id/$id/$name" {
        controller = 'page'
        action = 'view'
    }

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

  }
}

创建链接很简单:

<g:link mapping="stfu" params="[id: pageId, name: pageName]">${oNavigationInstance.toString()}</g:link>
4

1 回答 1

3

尝试使用http://docs.grails.org/latest/guide/theWebLayer.html#namedMappings中描述的命名 URL 映射

于 2011-03-03T10:26:43.000 回答