Привет всем, у меня есть вопрос по поводу urlmapping в Grails. Я пытаюсь сделать SEO дружественных URL, используя имя страницы и идентификатор. Я получил следующее в моем URLMapping:
class UrlMappings {
static mappings = {
"/$id/$name"{
controller = "page"
action = "view"
}
"500"(view:'/error')
"/"(controller:"index")
}
}
Ведьма работает, но .... идентификатор не будет очищен на панели URL, поэтому при первом нажатии на ссылку все идет хорошо: http://localhost:8080/SuurdGasControl/2/Gasmetingen
Но на следующей странице показано: http://localhost:8080/SuurdGasControl/2/6/Ontgassen
обратите внимание, что идентификатор "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>