Grails:更改控制器名称的URL映射
这必须是URLMappings.groovy中的一个简单配置,但我一直得到一个404 基本上,我想更改控制器的名称。例如,我们有控制器名Content\u pdfs\u data\u etcController.groovy,就像URL一样糟糕,我试过了Grails:更改控制器名称的URL映射,grails,Grails,这必须是URLMappings.groovy中的一个简单配置,但我一直得到一个404 基本上,我想更改控制器的名称。例如,我们有控制器名Content\u pdfs\u data\u etcController.groovy,就像URL一样糟糕,我试过了 static mappings = { "/mdata/$action?"(controller: "content_pdfs_data_etc", action: 'index') "/$controller/$action
static mappings = {
"/mdata/$action?"(controller: "content_pdfs_data_etc", action: 'index')
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"/"(controller:"home")
"500"(view:'/error')
}
控制器中的所有操作也应重定向,例如:
/mdata/show->content\u pdfs\u data\u etc/show
/mdata/update->content\u pdsf\u data\u etc/update
谢谢。尝试删除硬编码的操作,这将允许$action变量执行其映射魔法:
"/mdata/$action?"(controller: "content_pdfs_data_etc")
尝试删除硬编码的操作,这将允许$action变量执行其映射魔法:
"/mdata/$action?"(controller: "content_pdfs_data_etc")
谢谢你的回答,安德鲁。事实上,我发现用默认值替换映射顺序解决了这个问题。我的结局是:
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/mdata/$action?/$id?" (controller: "content_pdfs_data_etc")
谢谢你的回答,安德鲁。事实上,我发现用默认值替换映射顺序解决了这个问题。我的结局是:
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/mdata/$action?/$id?" (controller: "content_pdfs_data_etc")
顺便问一下,将控制器名称保留为Content\u pdfs\u data\u etccontroller的原因是什么?是另一位开发人员命名了控制器,客户端回来要求更改URL。我知道我可以重命名控制器/视图目录。是的,如果你对代码有控制权,最好重命名控制器。顺便问一下,为什么要将控制器名称保留为Content\u pdfs\u data\u etccontroller是另一个开发人员命名了控制器,客户端回来要求更改URL。我知道我可以重命名controller/view目录。是的,如果你能控制代码,重命名controller会更好。