Grails UrlMappingException:无法建立要分派的控制器名称

Grails UrlMappingException:无法建立要分派的控制器名称,grails,controller,urlmappings.groovy,Grails,Controller,Urlmappings.groovy,我遇到了这种类型的异常 2020-06-08 16:02:19.603 ERROR --- [nio-8080-exec-6] .a.c.c.C.[.[.[.[grailsDispatcherServlet] : Servlet.service() for servlet [grailsDispatcherServlet] in context with path [] threw exception grails.web.mapping.exceptions.UrlMappingExcept

我遇到了这种类型的异常

2020-06-08 16:02:19.603 ERROR --- [nio-8080-exec-6] .a.c.c.C.[.[.[.[grailsDispatcherServlet] : 
Servlet.service() for servlet [grailsDispatcherServlet] in context with path [] threw exception
grails.web.mapping.exceptions.UrlMappingException: Unable to establish controller name to dispatch for 
[org.grails.web.mapping.RegexUrlMapping$1@949b557]. Dynamic closure invocation returned null. Check your 
mapping file is correct, when assigning the controller name as a request parameter it cannot be an 
optional token!

    at org.grails.web.mapping.DefaultUrlMappingInfo.getControllerName(DefaultUrlMappingInfo.java:191)
    at org.grails.web.mapping.mvc.AbstractGrailsControllerUrlMappings.collectControllerMapping(AbstractGrailsCon
trollerUrlMappings.groovy:211)
    at org.grails.web.mapping.mvc.AbstractGrailsControllerUrlMappings.match(AbstractGrailsControllerUrlMappings.
groovy:119)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at 
UrlMappings.groovy

class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {}
        }
        "/"(controller: "Dashboard", action: "index")
        "500"(controller: "errors", action: "error500")
        "400"(controller: "errors", action: "error400")

    }
}
工具:

  • Grails版本:4.0.3
  • jdk:11.0.7

如何解决此异常

如果您将
“/”(控制器:“仪表板”,操作:“索引”)
替换为
“/”(控制器:“仪表板”,操作:“索引”)
,是否有效?我已尝试重新创建问题,但无法解决。处的映射似乎起作用。这个对你有用吗?谢谢你的回复!我已经用“Dashboard”替换了“Dashboard”,但它不工作,并且得到了相同的异常@JeffScottbrown我上面链接的项目似乎有效。我无法重现你所引用的问题。您将请求发送到的URL是什么?您使用的HTTP方法是什么?如果将
“/”(控制器:“仪表板”,操作:“索引”)
替换为
“/”(控制器:“仪表板”,操作:“索引”)
,该方法是否有效?我已尝试重新创建问题,但无法解决。处的映射似乎起作用。这个对你有用吗?谢谢你的回复!我已经用“Dashboard”替换了“Dashboard”,但它不工作,并且得到了相同的异常@JeffScottbrown我上面链接的项目似乎有效。我无法重现你所引用的问题。您将请求发送到的URL是什么?您使用的HTTP方法是什么?