Как найти все контроллеры, запущенные в приложении?Поиск всех контроллеров в приложении
Я пытаюсь создать меню с использованием YUI, где будут отображаться только зарегистрированные контроллеры. Класс контроллера создаст статический список с различными свойствами, определяющими имя, действие и т. Д. (Так же, как плагин grails-nav).
Я хочу создать taglib, который может найти все контроллеры, определить, какие из них имеют этот статический список, а затем посмотреть в каждый список и создать меню.
Я думаю, я могу использовать ControllerGrailsClass.metaClass.hasProperty, чтобы определить, имеет ли данный контроллер статическое свойство - но как мне найти все классы контроллера для опроса?
Заранее спасибо
Спасибо ataylor за быстрый ответ. Я только что видел это в окончательной путеводителе (через google search), он вводит класс grailsApplication и добавляет выбор динамических getters get * Classes и т. Д. Другой вопрос, который стоит задать, - это как вы находите эту информацию? Например, я искал API grails, и класс не упоминал об этих динамических методах. Я сделал различные поисковые запросы Google и снова ничего не нашел. Ссылка grails не делает никаких ссылок на них - ну, я, конечно, не нашел. – Primus
спасибо снова ataylor, некоторые указатели на хороший источник для этой информации также будут оценены. У меня есть окончательное руководство к grails, но can not когда-либо помнят такую информацию. – Primus
Методы getControllerClasses, getDomainClasses и т. Д. Динамически разрешены в DefaultGrailsApplication.invokeMethod() и getProperty() для поддержки классов артефактов, предоставляемых плагинами. Например, плагин Quartz добавляет артефакт Job, поэтому getJobClasses вернет все артефакты задания, если установлен плагин Quartz. –