Java 如何从Grails2.4.4中的响应中获取内容

Java 如何从Grails2.4.4中的响应中获取内容,java,grails,groovy,Java,Grails,Groovy,最近,我们正在将应用程序从grails版本2.2.4升级到2.4.4。但我们遇到了一个与sitemesh过滤器相关的特定问题,该过滤器已从grails 2.4.4版的web.xml中删除 问题是,在我们的代码库(grails版本2.2.4)中,响应对象是由org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse在运行时初始化的()我们使用response.response.contents获取呈现的gsp页面的h

最近,我们正在将应用程序从grails版本2.2.4升级到2.4.4。但我们遇到了一个与sitemesh过滤器相关的特定问题,该过滤器已从grails 2.4.4版的web.xml中删除

问题是,在我们的代码库(grails版本2.2.4)中,响应对象是由org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse在运行时初始化的()我们使用response.response.contents获取呈现的gsp页面的html内容,然后在应用程序的应用程序过滤器中将其用于pdf呈现

pdfRenderer(uri: '/pdf/**') {
            afterView = {
                byte[] pdf = PdfUtils.makePdf(response.response.contents, params.title, params.avoidDefaultHeader ?: false, session.user, servletContext)
从grails版本2.4.4开始,sitemesh筛选器已替换为GrailsLayoutView响应对象现在由weblogic httpServletResponse初始化,后者没有获取内容的方法。现在,我们必须将应用程序配置为在运行时使用GrailsContentBufferingResponse,以便用它初始化响应对象

这就是为什么我们的应用程序在所有pdf呈现的情况下出现故障的原因

谁能告诉我如何配置GrailsLayoutView,以便在运行时使用GrailsContentBufferingResponse对象初始化响应对象。或者是否有其他方法可以使用sitemesh过滤器,以便应用程序在运行时使用GrailsContentBufferingResponse对象

我还在上创建了一期jira。如果这真的是grails 2.4.4中的一个bug,请访问并投票