将命名空间放入 url
put namespace in url
这里是 grails 2.3.8。当我 g:link 执行某些控制器操作时,我想在控制器名称前面的 url 中放置一个名称空间。
例如:
调用 "app/apple/eat" -> "app/admin/apple/eat"
由于涉及许多动态和静态脚手架控制器,我想我可以用一些 UrlMappings 表达式来做到这一点,但我不知道该怎么做。
我尝试过类似的方法但没有成功:
static mappings = {
"/apple/$action?/$id?" (redirect:"/admin/apple/$action?/$id?")
}
在 AppleController 中使用命名空间 = "admin" 也不起作用
谢谢指教
例如
call "app/apple/eat" -> "app/admin/apple/eat"
您可以通过 grails-app/conf/UrlMappings.groovy 使用以下配置(这对整个应用程序有效):
class UrlMappings {
static mappings = {
"/admin/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
使用此配置,您的控制器可通过以下方式访问:
http://localhost:8080/apple/admin/apple/eat/1
etc.
或者!
如果您只在 admin 前缀下使用 apple,那么您可以在 grails-app/conf/UrlMappings 中执行以下操作。groovy:
class UrlMappings {
static mappings = {
"/admin/apple/$action?/$id?"(controller : "apple")
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
或者!
如果您有更多重定向,可以将它们组合在一起:
static mappings = {
group("/admin") {
"/apple/$action?/$id?(.${format})?"(controller: 'apple')
"/peach/$action?/$id?(.${format})?"(controller: 'peach')
}
...
这里是 grails 2.3.8。当我 g:link 执行某些控制器操作时,我想在控制器名称前面的 url 中放置一个名称空间。
例如: 调用 "app/apple/eat" -> "app/admin/apple/eat"
由于涉及许多动态和静态脚手架控制器,我想我可以用一些 UrlMappings 表达式来做到这一点,但我不知道该怎么做。
我尝试过类似的方法但没有成功:
static mappings = {
"/apple/$action?/$id?" (redirect:"/admin/apple/$action?/$id?")
}
在 AppleController 中使用命名空间 = "admin" 也不起作用
谢谢指教
例如
call "app/apple/eat" -> "app/admin/apple/eat"
您可以通过 grails-app/conf/UrlMappings.groovy 使用以下配置(这对整个应用程序有效):
class UrlMappings {
static mappings = {
"/admin/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
使用此配置,您的控制器可通过以下方式访问:
http://localhost:8080/apple/admin/apple/eat/1
etc.
或者!
如果您只在 admin 前缀下使用 apple,那么您可以在 grails-app/conf/UrlMappings 中执行以下操作。groovy:
class UrlMappings {
static mappings = {
"/admin/apple/$action?/$id?"(controller : "apple")
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
或者!
如果您有更多重定向,可以将它们组合在一起:
static mappings = {
group("/admin") {
"/apple/$action?/$id?(.${format})?"(controller: 'apple')
"/peach/$action?/$id?(.${format})?"(controller: 'peach')
}
...