我正在使用Grails 1.2.1。我有這個方法在我的控制器......如何防止Grails呈現默認視圖?
class SocialMediaCacheProxyController {
def index = {
def url = params.url
if (params.dumpAll != null) {
transportCacheService.processCacheDump(request.getRemoteAddr(), response)
} else if (url != null) {
doCacheTransport(request, response)
} // if
}
問題是,這兩個執行路徑內容寫入響應。不過,我認爲Grails是試圖在索引方法的末尾,以呈現頁面,因爲我調用此方法後,可重複獲得下面的錯誤...
1339754 [http-8080-4] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/socialmediaproxy].[default] - Servlet.service() for servlet default threw exception
java.lang.IllegalStateException: response.getWriter() called after response.getOutputStream()
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageResponseWrapper$GrailsBuffer.getWriter(GrailsPageResponseWrapper.java:284)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageResponseWrapper$3.activateDestination(GrailsPageResponseWrapper.java:125)
任何想法如何,我可以得到的Grails停止渲染任何東西后我的方法是完整的?謝謝, - 戴夫
根據你的鏈接,我嘗試添加「render(text:'hi there')」作爲我的控制器的索引方法的最後一行,但我仍然得到了同樣的錯誤。 – Dave 2011-04-19 13:55:01
請忽略先前的評論。你的建議工作 - 我的代碼中有另一個錯誤,阻止解決方案的工作。 – Dave 2011-04-19 15:38:44