java - 如何在 Grails UrlMappings 中设置默认 URL?

标签 java spring-mvc grails groovy grails-2.0

我想包含 Grails 的默认 url 映射。也就是说,如果请求的 url 映射中没有规则,则应重定向到 home/index。

我当前的 url 映射是:

class UrlMappings {

    static mappings = {
       "/$controller/$action?/$id?(.$format)?" { 
           constraints { 
           // apply constraints here
           } 
        }

       "/"(controller:"home", action:"index")

       "/admin"(controller:"login",action:"authadmin")
       "/robots.txt"(controller:"home",action:"robots")
       "/sitemap.xml"(controller:"home",action:"sitemap")

       "404"(controller:"home",action:"notfound")
       "500"(view:'/error')

       "/**"(controller:"home", action:"index")    
    }
}

我使用最后一个以/** 开头的规则来映射所有在 url 映射中没有特定规则的传入请求。问题是当我将以下内容放入 GSP 文件中时

<g:link controller="home" action="index"><div class="MainLogo"></div></g:link>

然后网址如下所示:

http://www.example.com/**

有办法纠正这个问题吗?如何在 url 映射中未定义规则的情况下为 url 创建默认映射?

最佳答案

我不能说我真的建议这种方法,因为实际上最好为不存在的页面发送 404,但无论如何我认为解决此问题的最佳方法是双通配符路径。请参阅:

http://grails.org/doc/latest/guide/theWebLayer.html#mappingWildcards

例如:

   "/$path**"(controller:"home", action:"index")

关于java - 如何在 Grails UrlMappings 中设置默认 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576484/

相关文章:

java - 尝试使用 spring 和 thymeleaf 执行表单验证时出现错误

spring - 我无法在 Springboot-Kotlin 中排除 MongoAutoConfiguration (MongoSocketOpenException)

java - 我如何检查字符串是否是 Groovy 中的 IP?

java - 使用 Encog 自学习神经网络

java - rhc 端口转发 - 开类问题

java - 将 vector 图像添加到 Google Maps Android API v2

java - 关于 Eclipse 的 JUnit 报告

java - 如何为 Spring MVC Controller 创建通用权限管理系统?

grails - Grails:Java POJO的国际化

css - 在 SpringSource Tool Suite 中,我可以在哪里编辑主题?