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

Reply via email to