Java - ireport en java

 
Vista:

ireport en java

Publicado por Ruben Dario (1 intervención) el 18/03/2009 20:21:34
Disculpe la pregunta tengo una aplicacion en java que lo unico que me falta es que cuando de click en el boton de reportes me despliegue un archivo en pdf de un informe de la base de datos, el reporte esta creado en ireport y este en archivo .jrxml, necesito porfavor el codigo que mepermita realizar esta accion

De antemano

muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:ireport en java

Publicado por Richard Jorge (22 intervenciones) el 30/03/2009 20:36:46
Este codigo ejecuta un reporte en jasper y genera un pdf, el mismo lo estoy ejecutando desde la capa controller. Desde aqui debes llamar tu archivo jasper, el cual ya compilado se encarga de trabajar con el jrxml. Recuerda el envio de parametros de tenerlos y del resultset.

JasperPrint jasperPrint;
byte[] output;
String rutaJasper = getServletContext().getRealPath("/reporte/xxxx.jasper");
String rutaReporte = getServletContext().getRealPath(request.getServletPath()); //getServletPath();

Connection conn = null;
CallableStatement stm = null;
ResultSet rs = null;

try {

conn = ConexBd.getConnection();
String query = "{ call ? := SACC.pkg_xxx.xxx()}"; o tambien puede ser
un select esto es jdbc
stm = conn.prepareCall(query);
stm.registerOutParameter(1, OracleTypes.CURSOR);
Map<String, Serializable> map = new HashMap<String, Serializable>();
map.put("PATH_IMG", getServletContext().getRealPath("images/logo.gif"));

stm.execute();
rs = (ResultSet) stm.getObject(1);
response.setContentType("application/pdf");
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(rutaJasper);

jasperPrint = JasperFillManager.fillReport(jasperReport, map, new JRResultSetDataSource(rs));
output = JasperExportManager.exportReportToPdf(jasperPrint); // generacion del PDF en memoria

JasperExportManager.exportReportToPdfFile(jasperPrint, rutaReporte); // generacion del PDF en la ruta especificada

response.setContentLength(output.length);
ServletOutputStream outputStream;

outputStream = response.getOutputStream();
outputStream.write(output);
outputStream.close();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar