Jak znaleźć wszystkie kontrolery działające w aplikacji?Znajdowanie wszystkich kontrolerów w aplikacji
Próbuję utworzyć menu przy użyciu YUI, gdzie tylko zarejestrowane kontrolery będą miały wyświetlane menu. Klasa kontrolera utworzy statyczną listę z różnymi właściwościami wyszczególniającymi nazwę, akcję itp. (Podobnie jak wtyczka grails-nav).
Chcę utworzyć taglib, który może znaleźć wszystkie kontrolery, określić, które z nich mają tę statyczną listę, a następnie zajrzeć do każdej listy i zbudować menu.
Myślę, że mogę użyć ControllerGrailsClass.metaClass.hasProperty, aby określić, czy dany kontroler ma właściwość statyczną - ale jak znaleźć wszystkie klasy kontrolerów do przesłuchania?
Dzięki z góry
Dzięki ataylor za szybką odpowiedź. Właśnie widziałem to w ostatecznym przewodniku (poprzez wyszukiwarkę google), wstrzykuje on klasę grailsApplication i dodaje wybór dynamicznych pobierających get * Klasy itp. Innym pytaniem, które warto zadać, jest to, jak znaleźć te informacje? Na przykład przeszukałem interfejs API grails, a klasa nie wspomniała o tych dynamicznych metodach. Zrobiłem różne wyszukiwania google i znowu nie znalazłem nic. Odwołanie do grails nie czyni żadnych odniesień do tych - dobrze, na pewno nie znalazłem. – Primus
dzięki jeszcze raz ataylor, niektóre wskaźniki na dobrym źródłem tych informacji również byłyby mile widziane. Mam ostateczny przewodnik po grails, ale nigdy nie pamiętam oglądania tego rodzaju informacji. – Primus
Metody getControllerClasses, getDomainClasses itd. Są dynamicznie rozdzielane w DefaultGrailsApplication.invokeMethod() i getProperty() w celu obsługi klas artefaktów dostarczanych przez wtyczki. Na przykład wtyczka Quartz dodaje artefakt zadania, więc getJobClasses zwróci wszystkie artefakty zadania, jeśli zainstalowana jest wtyczka Quartz. –