Java Reference
In-Depth Information
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
response.setContentType("text/plain");
response.getOutputStream().print(stringWriter.toString());
}
}
}
In this example, we populate an array with AircraftData objects, which
contain the data to be displayed in the report. We then pass this array to the
constructor of JRBeanArrayDataSource . Finally, we pass the new instance of
JRBeanArrayDataSource to the JasperRunManager.runReportToPdfStream()
method, which generates the report and exports it to PDF format on the fly. The
generated report is then displayed on the browser.
If we need to group our Beans in a Collection instead of an array, JasperReports provides
the net.sf.jasperreports.engine.data.JRBeanCollectionDataSource() class.
This class has only one public constructor, which takes a java.util.Collection
object as its only parameter. It expects this collection to be populated with JavaBeans
that can be used to populate the report. The following example demonstrates how to
use JRBeanCollectionDataSource to populate our reports:
package net.ensode.jasperbook;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
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.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class BeanCollectionDSReportServlet extends HttpServlet
{
private JRDataSource createReportDataSource()
{
 
Search WWH ::




Custom Search