Hello friends,

the servlet shows how to generate reports using jasperReport.


//Servlet GetReport


package com.javaneses.report.server.report;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;

/**
 * @author Vagner Araujo
 * */

public class GetReport extends HttpServlet{


        private static final long serialVersionUID = -5295343701909694274L;

        protected void doPost(HttpServletRequest request, HttpServletResponse
response)
        throws ServletException, IOException {


                final String reportFileName = request.getParameter
("reportFileName");
                final String reportName = request.getParameter("reportName")
+".jasper";


                response.setContentType("application/pdf");
                response.setHeader("Content-disposition", "attachment; 
filename=\""
+ reportFileName + "\"");

                Map<Object, Object> map = new HashMap<Object, Object>();

                //add report logo
                //logo path
                final String logoPath = "com/javaneses/report/server/report/
logo.jpg";
                URL url = ClassLoader.getSystemResource(logoPath);
                //report parameter
                map.put("logo", url);


                try {
                        //file.jasper path
                        final String reportPath = "com/javaneses/report/server/
report/"+reportName;
                        url = ClassLoader.getSystemResource(reportPath);
                        File file = new File(url.toURI());
                        InputStream inputStream = new FileInputStream(file);
                        JasperPrint jasperPrint = 
JasperFillManager.fillReport(inputStream,
map, /*Your dataSource*/));
                        byte[] report = 
JasperExportManager.exportReportToPdf(jasperPrint);

                        response.setContentLength(report.length);
                        ServletOutputStream out = response.getOutputStream();
                        out.write(report);
                        out.flush();
                        out.close();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }//end doPost
}//end class

Parameters

reportFileName => name to be suggested when the report is saved.
reportName => name of the jasper file compiled.


Vagner Araujo
[email protected]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to