问题
hey all, i have a question about urlmapping in grails. I'm trying to make seo friendly url's using a page name and id. I got the follwing in my URLMapping:
class UrlMappings {
static mappings = {
"/$id/$name"{
controller = "page"
action = "view"
}
"500"(view:'/error')
"/"(controller:"index")
}
}
Witch is working, but.... the id won't clear in the urlbar, so the first time i click a link all goes well: http://localhost:8080/SuurdGasControl/2/Gasmetingen
But for the next page it shows: http://localhost:8080/SuurdGasControl/2/6/Ontgassen
note that the id "2" hasn't been removed...
Any help or thoughts?
UPDATE
URLMapping now looks like this:
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")
}
}
Creating a link is as simple as:
<g:link mapping="stfu" params="[id: pageId, name: pageName]">${oNavigationInstance.toString()}</g:link>
回答1:
Try to use a named URL mapping as described on http://docs.grails.org/latest/guide/theWebLayer.html#namedMappings
来源:https://stackoverflow.com/questions/5179265/grails-urlmapping-using-id-and-name