как дифференцировать отображения адресов Grails - PullRequest
1 голос
/ 09 февраля 2011

У меня есть сопоставления:

"/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        } // i used scaffolding and i think this is required by the generated stuff
'/'(controller:'home') //for the home page
'/$param1?/$param2?'(controller:'search') //for a search page 

Требуемый URL для отображения в браузере:
www.site.com/ - для дома

www.site.com / keyword1 / keyword2 - для поиска по этим необязательным ключевым словам

Кажется, это работает, но мой вопрос таков: могу ли я ожидать, что это будет правильно, или в некоторых ситуациях Грейлс запутается?

1 Ответ

1 голос
/ 09 февраля 2011

не будет.Grails будет сортировать ваши отображения URL на основе заданного набора правил приоритета (от конкретных к общим).

Ваши URL всегда будут одинаковыми и возвращать одну и ту же страницу.

Однако, поскольку ваши отображения неоднозначны, иногда может возвращаться страница, которую вы не ожидаете.Лучшим вариантом было бы сопоставить поиск с:

/ search / params1? / Params2?

таким образом, это однозначно.

...