Z mojego kontrolera chciałbym dynamicznie wybrać usługę na podstawie parametru.Jak dynamicznie wybierać usługę w Grails
Obecnie mam usługę podstawową i niektóre inne usługi w zakresie tej usługi podstawowej. Na podstawie parametru nazywam klasą, która nie tworzy nazwę fasoli w oparciu o param i ostatecznie wywołuje następujące:
import org.codehaus.groovy.grails.web.context.ServletContextHolder as SCH
import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes as GA
class Resolver {
def ctx
def getBean(String beanName) {
if(!ctx) {
ctx = SCH.servletContext.getAttribute(GA.APPLICATION_CONTEXT)
}
return ctx."${beanName}"
}
}
ta zwraca usługę chcę. Jednak czuję się dość brudno robiąc to w ten sposób. Czy ktoś ma lepszy sposób radzenia sobie z uzyskiwaniem usługi (lub jakiejkolwiek innej fasoli) w oparciu o jakiś parametr?
Dziękuję.