Issue 131: Export to Excel Broken while Filtering
Status:  Invalid
Owner: ----
Closed:  Mar 2011
Reported by huma...@gmail.com, Aug 4, 2008
What steps will reproduce the problem?
1. I am using the Grails version of the JMESA 2.3.2 on Tomcat 5.5.20
2. When filtering on a column and exporting Excel the page errors out with
the exception below, but export to PDF and CSV work fine without any issues
3. Export to Excel only works fine when filtering is NOT active

What is the expected output? What do you see instead?
Excel Download Dialog. HTTP Status 500 with stack trace 

What version of the product are you using? On what operating system?
JMESA 2.3.2 on Tomcat 5.5.20 on SUSE Linux and Windows

Please provide any additional information below.
HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it
from fulfilling this request.

exception 

org.springframework.web.util.NestedServletException: Request processing
failed; nested exception is java.lang.IllegalStateException:
getOutputStream() has already been called for this response
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:202)
	org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:189)
	org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:117)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.parsePage(GrailsPageFilter.java:123)
	org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:86)
	org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)


root cause 

java.lang.IllegalStateException: getOutputStream() has already been called
for this response
	org.apache.catalina.connector.Response.getWriter(Response.java:599)
	org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
	com.opensymphony.module.sitemesh.filter.PageResponseWrapper$5.activateDestination(PageResponseWrapper.java:95)
	com.opensymphony.module.sitemesh.filter.RoutablePrintWriter.getDestination(RoutablePrintWriter.java:38)
	com.opensymphony.module.sitemesh.filter.RoutablePrintWriter.write(RoutablePrintWriter.java:140)
	org.codehaus.groovy.grails.web.pages.GSPResponseWriter.flush(GSPResponseWriter.java:120)
	org.codehaus.groovy.grails.web.pages.GSPResponseWriter.close(GSPResponseWriter.java:98)
	org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderWithTemplateEngine(GroovyPageView.java:117)
	org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderMergedOutputModel(GroovyPageView.java:88)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:252)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1173)
	org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:291)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:202)
	org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:189)
	org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:117)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.parsePage(GrailsPageFilter.java:123)
	org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:86)
	org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)


 
Aug 4, 2008
#1 extremec...@gmail.com
Thank you for reporting this!

Are you using the jexcel or the excel export?
Status: Accepted
Aug 5, 2008
#2 huma...@gmail.com
excel is broken. I just tried with jexcel and it works fine.
Aug 5, 2008
#3 extremec...@gmail.com
Thats good to know! I will look into this.
May 13, 2009
#4 wanxiang.xing@gmail.com
i get the same exception.
i think it is because of sitemesh filter.
how to exclude the sitemesh filter for export?
Jun 30, 2009
#5 mohanbhi...@gmail.com
Hi,
i am also getting same Exception for first time ..whn i come to second time this
exception not getting..

Can anybody help???

org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is java.lang.IllegalStateException: response.getWriter() called
after response.getOutputStream()
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:408)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.signup.prospect.webapp.util.SessionFilter.doFilterInternal(SessionFilter.java:51)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
	com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
	com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

root cause

java.lang.IllegalStateException: response.getWriter() called after
response.getOutputStream()
	com.opensymphony.module.sitemesh.filter.Buffer.getWriter(Buffer.java:52)
	com.opensymphony.module.sitemesh.filter.PageResponseWrapper$3.activateDestination(PageResponseWrapper.java:82)
	com.opensymphony.module.sitemesh.filter.RoutablePrintWriter.getDestination(RoutablePrintWriter.java:38)
	com.opensymphony.module.sitemesh.filter.RoutablePrintWriter.write(RoutablePrintWriter.java:144)
	org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:116)
	org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:190)
	org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:115)
	org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
	org.apache.jsp.WEB_002dINF.jsp.ContactSearchCriteria_jsp._jspService(ContactSearchCriteria_jsp.java:678)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:112)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:249)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:827)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.signup.prospect.webapp.util.SessionFilter.doFilterInternal(SessionFilter.java:51)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
	com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
	com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

Dec 9, 2009
#6 goodh...@taygata.com
but  the  solution ?




Mar 9, 2011
Project Member #7 jeff.johnston.mn@gmail.com
Not sure if this issue is valid yet...
Status: Invalid