gráficos en JSP y jasperReports
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();
%>
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();
%>
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
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
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
A alguno de ustedes les habra pasado esto... ??
Gracias
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
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
No hace falta poner el report en el summary. Se puede poner en cualquier lado si cambias el evaluation type a 'Report'.
Escribi:
"No hace falta poner el report en el summary"
quize decir que no hace falta poner el chart en el summary
"No hace falta poner el report en el summary"
quize decir que no hace falta poner el chart en el summary
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
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
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
Saludos
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.
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.
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
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
