Grails 애플리케이션에서 모든 컨트롤러 클래스에 foo() 메소드를 추가하고 싶습니다. 나는 다음과 같은 코드를 사용하여 플러그인의 doWithDynamicMethods 폐쇄 내에서이 작업을 수행 할 수 있다는 사실을 알고 :컨트롤러에 메소드 추가하기
application.controllerClasses.toList()*.metaClass*.foo = { println 'foo called' }
그러나, 난 그냥이 목적을 위해 플러그인을 만들려고하지 않습니다. 내가 할 수있는 다른 곳이 있나. 나는 BootStrap.groovy
의 init
클로저 내에서 가능할 것이라고 생각하지만이 클로저에서 GrailsApplication
인스턴스에 액세스하는 방법을 알지 못합니다.
감사합니다, 돈
왜 플러그인을 작성하지 않습니까? 이것은 플러그인을위한 유즈 케이스의 완벽한 유형입니다. 당신은 그것을 풀어 줄 필요가 없으며 커다란 플러그인이어야합니다. 플러그인을 통해 모듈화하는 것은 가능하다면 따라야하는 위대한 관용구입니다. – Chii