Hay varias formas de pasarle datos a JasperReports.
Una es atravez de la conexión.
Código:
public JasperPrint Reporte03(java.util.Date p_fecini, java.util.Date p_fecfin) throws DataConnectionException, SQLException, JRException {
HashMap<String, java.util.Date> m = new HashMap<String, java.util.Date>();
m.put("p_fecini", p_fecini);
m.put("p_fecfin", p_fecfin);
JasperReport jasperReport = JasperCompileManager.compileReport(Main.getProperty("reportes_filepath") + "/jaspReport03.jrxml");
JasperPrint jasperPrinter = JasperFillManager.fillReport(jasperReport, m, new DataConnection().getConnection());
return jasperPrinter;
}
La otra es llenando con datos un objecto JRDataSource:
public static JasperPrint fillReport(java.io.InputStream inputStream,
java.util.Map parameters,
JRDataSource dataSource)
throws JRException
Que está implementado en JRXmlDataSource.
Ref:
http://jasperreports.sourceforge.net/api/index.html