Grails Routes - 忽略css,js和图像

Bud*_*Joe 4 grails routing url-routing

当你添加了这样的路线时,你如何让UrlMappings忽略/ css,/ js和/ images

UPDATE

"$username"(controller:"profile",action:"show") {
        constraints {
            username(notInList:['css','js','images'])
        }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用notInList吗?我如何反转inList?

Ove*_*ous 8

手册:

如果您使用通配符URL映射,那么您可能希望从Grails的URL映射过程中排除某些URI.为此,您可以在UrlMappings.groovy类中提供排除设置:

class UrlMappings = {
    static excludes = ["/images/*", "/css/*"]
    static mappings = {
        …
    }
}
Run Code Online (Sandbox Code Playgroud)

这允许您从映射中排除目录.

更新如果要使用正则表达式,这可能会更好:

constraints {
    username(matches:"^(?!(js|css|images)/).*")
}
Run Code Online (Sandbox Code Playgroud)

此正则表达式匹配任何下手js/,css/images/.它通过零宽度负前瞻匹配((?!…).