2012-10-03 109 views
0

嗨,我嘗試使用redirect(uri: "/errors/handle500")重定向,但我得到以下異常異常Grails中重定向

Cannot issue a redirect(..) here. A previous call to redirect(..) has already redirected the response.. Stacktrace follows: 
    org.codehaus.groovy.grails.web.servlet.mvc.exceptions.CannotRedirectException: Cannot issue a redirect(..) here. A previous call to redirect(..) has already redirected the response. 
    at com.cisco.rms.ErrorsController$_closure1.doCall(ErrorsController.groovy:8) 
2012-10-03 18:05:53,414 [http-bio-8080-exec-7] ERROR errors.GrailsExceptionResolver - CannotRedirectException occurred when processing request: [GET] /rmsportal/changeRequest/listJSONFromService 

任何一個可以請讓我知道它爲什麼不重定向。

+0

已* '先前的呼叫重定向(..)已經重定向響應' *? –

+0

是從那裏我想重定向到其他,因爲有一些錯誤。 – Siva

+0

我試着設置response.status = 200並調用重定向重定向(uri:「/ errors/handle500」),但不起作用。 – Siva

回答

0

tim_yates是對的,你不能調用第二個重定向。也許你想用forward代替,並且記住單獨重定向不會阻止grails執行其餘的控制器代碼。

0

這是我的錯樣。

if (checkSomething){ 
    redirect action: 'foo' 
} 
.... 
redirect action: 'bar' 

而且是對樣本

if (checkSomething){ 
    redirect action: 'foo' 
    return 
} 
.... 
redirect action: 'bar'