gráficos en JSP y jasperReports

duhu
16 de Junio del 2008
Intento generar un informe con un gráfico (chart) con iReport y funciona, pero cuando lo ejecuto desde una JSP, me da el siguiente error:
org.apache.jasper.JasperException: Error evaluating expression : image_1

si le quito el gráfico funciona perfectamente. Alquien me puede decir que estoy haciendo mal???

código de la JSP:

<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>

<%
File reportFile = new File(application.getRealPath("/reports/prueba.jasper"));

Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("BaseDir", reportFile.getParentFile());

Context context = new InitialContext();
DataSource dataSource =(DataSource)context.lookup("java:jdbc/prueba");
Connection conexion = dataSource.getConnection();

byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
conexion
);

response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>

Elena Ramirez
16 de Junio del 2008
Hola te escribo para darte una solucion al problema que tienes con el reporte grafico, es muy sencillo solo debes pintar el chart en la sesion SUMMARY del reporte, debes hacer el mismo procedimeinto que has hecho hasta ahora pero agregandolo en el summary, lo que ocurre es que si lo colocas en otra parte el no puede reconocerlo como una imagen.

Intenta probar y correlo de tu aplicacion, yo lo hice y me funciono, ademas en cuanto al problema que tenia que no te cargaba el .class, recuerda que debes colocarlo dentro de de la carpeta WEB-INFclasses de tu proyecto.

Espero esto te pueda ayudar, cualquier cosa escribe para ver en que se te puede ayudar.

Chao
Lic. Elena Ramirez

rafaeldiaz23
16 de Junio del 2008
Yo estoy haciendo una aplicacion web que debe generar un grafico a traves de una busqueda en la base de datos.. Desde una clase sencilla lo hace perfecto, pero cuando lo llamo desde el jsp me da un filenotFoundException con el archivo .jrxml.
A alguno de ustedes les habra pasado esto... ??
Gracias

JuNior
16 de Junio del 2008
A mi me da tb el dichoso error: package it.businesslogic.ireport does not exist

He probado lo de poner el chart en el summary y nada.

He probado cogiendo los datos de una conexion o de un datasource y nada.

He probado cambiando el tiempo de evaluación y nada.

Tengo en el classpath el ireport

Supongo que mi problema esta en jrxml. en el Label he puesto $F{nombre} y en Serie1 $F{numero}

Gracias

JuNior

Damian Kober
16 de Junio del 2008
No hace falta poner el report en el summary. Se puede poner en cualquier lado si cambias el evaluation type a 'Report'.

Damian Kober
16 de Junio del 2008
Escribi:
"No hace falta poner el report en el summary"

quize decir que no hace falta poner el chart en el summary


shu
16 de Junio del 2008
Yo tambien he tenido los mismos problemas.

Primero pongo el chart en la banda summary y agrego el scriplet.class a mi carpeta webinf/classes. Pero aun me queda un problema por resolver y es que cuando intenta abrir el informe me muestra el siguiente fallo:

Error general: Caused by: Error evaluating expression : image_1 Source text : (java.awt.Image)it.businesslogic.ireport.chart.DefaultChartFactory.drawChart(new String[]{"chartName=Pie3D","depthFactor=0.2","titlePosition=1","width=306","serie1=SERIE_SUMA","plotBackground=[255,255,255]","serie0=SERIE_Nombre","foregroundAlpha=0.33","tooltips=false","chartBackground=[255,255,255]","subtitle=","title=","legend=false","quality=2","height=83","antialias=true"}, (it.businesslogic.ireport.IReportScriptlet)$P{REPORT_SCRIPTLET})
Al parecer JAVA no reconoce el $P{} y es lo que me esta fallando.

Alguna sugerencia, muchas gracias

yoja
16 de Junio del 2008
Tengo el siguiente problema tengo un reporte con una grafica, lo diseñe en el ireporty lo lleno desde el jasperreport en una aplicacion web desde eclipse pero cuando ejecuto el reporte ya que lo exporta a pdf la grafica sale con el fon de otro color, quisiera saber si alguien sabe como quitarle el color de fondo, en el diseño no es porque lo he intentado de varias formas parace que es algo del jasperreport. El que me pueda ayudar que me escriba que se lo agradecere.
Saludos

Delia
16 de Junio del 2008
Yo también estoy realizando un reporte el cual debe gráficar, el corre bien en el iReport, pero en JSP tengo problemas.

Y tengo en el classpath ruteada la libreria iReport.jar

Me da el siguiente error:

C:jakarta-tomcat-4.1.30webappssappiereporteresumenreporte_resumen.java:137:
package it.businesslogic.ireport does not exist
value = (java.awt.Image)((java.awt.Image)it.businesslogic.ireport.chart.DefaultChart
Factory.drawChart(new String[]{"antialias=true","tooltips=false","legend=false","chartName=Bar3D","p
lotOrientation=2","foregroundAlpha=0.33","valueLabel=Serie1","subtitle=","plotBackground=[255,255,25
5]","quality=1","height=139","titlePosition=1","chartBackground=[255,255,255]","width=488","serie2=S
ERIE_Serie_Ejecutado","serie1=SERIE_Seri_listado","serie0=SERIE_Serie_Mes","categoryLabel=Serie2","t
itle="}, (it.businesslogic.ireport.IReportScriptlet)((net.sf.jasperreports.engine.JRAbstractScriptle
t)parameter_REPORT_SCRIPTLET.getValue())));


Alguién me puede ayudar.

duhu
16 de Junio del 2008
OK, voy avanzando, ahora en vez de ese error me da este otro:

org.apache.jasper.JasperException: Error loading scriptlet class : pruebaScriptlet
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

Sigo buscando a alguien que me ayude