기본 컨트롤러 리디렉션 메서드를 재정의하려고하는데 다음 코드를 작동시키는 것처럼 보이지 않습니다.grails가 리디렉션 컨트롤러 메서드를 오버라이드합니다.
나는 플러그인을 만들었으며 "doWithDynamicMethods"를 사용하여 리디렉션을 바꾸려고합니다.
def doWithDynamicMethods = {ctx ->
application.controllerClasses.each() { controllerClass ->
replaceRedirectMethod(controllerClass)
}
}
void replaceRedirectMethod(controllerClass) {
def oldRedirect = controllerClass.metaClass.pickMethod("redirect", [Map] as Class[])
controllerClass.metaClass.redirect = { Map args, Map params ->
// never seems to get here
}
}
서명이 잘못되었거나 누락 되었습니까? 내가 이것을하고있는 이유는 특정 조건이 충족되었지만 로깅/인쇄 문이있는 경우 응용 프로그램 시작/컴파일시 "replaceRedirectMethod"에 표시되지만 리디렉션의 uri를 변경하고 싶습니다. 앱이 시작되면 컨트롤러를 통해 리디렉션을 수행 할 때 거기에 들어 가지 않습니다.