Olá,
defini no cabeçalho de meu relatório uma imagem
e na sua propriedade na aba imagem :
- Classe de Expressão de imagem
- alterei de String para java.io.InputStream
pois quero qdo chamar o relatório na action passar o caminho da imagem que esta
no contexto da aplicação WEB …
como posso fazer isso ???
erro no iReport
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from String to InputStream
value = (java.io.InputStream)("C:\\workspace\\Web\\WebContent\\files\\rel.jpg");//$JR_EXPR_ID=11$ <-----------------------------------------------------------------------------------------> 2. Cannot cast from String to InputStream value = (java.io.InputStream)("C:\\workspace\\Web\\WebContent\\files\\rel.jpg");//$JR_EXPR_ID=11$ <-----------------------------------------------------------------------------------------> 3. Cannot cast from String to InputStream value = (java.io.InputStream)("C:\\workspace\\Web\\WebContent\\files\\rel.jpg");//$JR_EXPR_ID=11$ <-----------------------------------------------------------------------------------------> 3 errors at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:193) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:591) at java.lang.Thread.run(Unknown Source)
----
private static final String CONTENT_TYPE_PDF = "application/pdf";
session = (Session) dbmanager.getDelegate();
con = session.connection();
String jasper = request.getContextPath()+ "/report/report/"+nomeRelatorio;
String host = "http://" + request.getServerName() + ":" + request.getServerPort();
URL jasperURL = new URL(host + jasper);
response.setContentType(CONTENT_TYPE_PDF);
byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);
if (bytes != null) {
ops = response.getOutputStream();
ops.write(bytes);
ops.flush();
ops.close();
}