Маршруты Grails - игнорировать CSS, JS и изображения - PullRequest
4 голосов
/ 09 августа 2011

Как заставить UrlMappings игнорировать / css, / js и / images, когда вы добавили маршрут, подобный этому

UPDATE

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

Могу ли я использовать notInList? Как мне отменить InList?

1 Ответ

8 голосов
/ 09 августа 2011

С инструкция :

Если вы используете сопоставления URL-адресов с подстановочными знаками, вы можете исключить определенные URI из процесса сопоставления URL-адресов Grails. Для этого вы можете указать параметр исключений внутри класса UrlMappings.groovy:

class UrlMappings = {
    static excludes = ["/images/*", "/css/*"]
    static mappings = {
        …
    }
}

Это позволяет исключить каталоги из сопоставления.

Обновление Если вы хотите использовать регулярное выражение, это может работать лучше:

constraints {
    username(matches:"^(?!(js|css|images)/).*")
}

Это регулярное выражение соответствует всему, что не начинается с js/, css/ или images/. Соответствует через отрицательный прогноз нулевой ширины ((?!…).

...