Hello Everyone, I have integrated Jasper Reports with Struts 1.2.9.I have written the below code in my action class.At runtime I am getting this error.
ApplicationDispatcher[/TGMC_DB1-2009] PWC1231: Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response at org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:700) at org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:210) at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:135) at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:171) at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:164) at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:221) at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:157) at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:108) at org.apache.jsp.LeftMenu_jsp._jspService(LeftMenu_jsp.java from :152) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93) This is my code in action class package com.myapp.struts; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import java.io.InputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.*; import net.sf.jasperreports.engine.JasperRunManager; import net.sf.jasperreports.engine.JRResultSetDataSource; import java.util.HashMap; import java.sql.ResultSet; import net.sf.jasperreports.engine.JRException; import java.io.PrintWriter; import java.io.StringWriter; public class ViewReportAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String target = new String("success"); try { ServletOutputStream servletOutputStream = response.getOutputStream(); ResultSet rs = null; String report_type = (String) request.getParameter("report_type"); InputStream reportStream = getServlet().getServletConfig().getServletContext().getResourceAsStream("F:\\project\\tgmc next year ibm\\04-oct-2008\\dynamicjasper\\src\\java\\test\\report1.jrxml"); rs = Reports.View_Ementor_list(getDataSource(request)); JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs); //THIS LINE IS GENERATING ERROR JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), resultSetDataSource); response.setContentType("application/pdf"); servletOutputStream.flush(); servletOutputStream.close(); } catch (JRException e) { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); e.printStackTrace(printWriter); response.setContentType("text/plain"); response.getOutputStream().print(stringWriter.toString()); } catch (Exception ex) { System.out.println(ex.getMessage()); } return mapping.getInputForward(); } } -- View this message in context: http://www.nabble.com/Error%3AgetOutputStream%28%29-has-already-been-called-for-this-response-in-Jasper-Reports-tp19863814p19863814.html Sent from the jasperreports-questions mailing list archive at Nabble.com. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ jasperreports-questions mailing list jasperreports-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jasperreports-questions