2

我正在尝试在动态映射闭包中获取控制器名称,如下所示:

"/admin/$controller/$action?/$id?"{
    controller = {
        "${controllerName}Admin"
    }
}

强制对“/admin/[controller name]”的所有请求映射到名为“[controller name]Admin”的控制器。“controllerName”变量在闭包外部起作用,但在内部不起作用。

我怎么做?

非常感谢你!

4

1 回答 1

0

一种可能的解决方案可能是:

    "/admin/$controller/$action?/$id?"{
        controller = {
            def controllerName = (request.requestURI - request.contextPath).split('/')[2]

            // or
            //def controllerName = request.servletPath.split('/')[2]

            "${controllerName}Admin"
        }
    }
于 2013-02-02T14:48:16.270 回答