Help..help...sobre caminho de imagem no Jasper....não sei mas o que fazer...perdi a tolerância

Olá,

criei um campo no ireport como parametro chamado imagem no coloquei no column header.

E no servlet vou passar o caminho onde está no contexto da aplicação mas não sai a imagem…

alguém teria um exemplo que funciona …please .please…isso funciona uma imagem em um relatório


// trata imagem
			String host = "http://" + request.getServerName() + ":" + request.getServerPort();   
			// trata imagem
			String locationImage =request.getContextPath()+"/imagem/mirax.jpg";
			System.out.println("locationImage="+locationImage);
			//trata imagem
			Session session = (Session) manager.getDelegate();
			con = session.connection();
		  	
  			Map parameters = new HashMap();
  			System.out.println("Tipo de Grupo = "+request.getParameter("tipo_grupo"));
  			parameters.put("tipo_grupo", Long.valueOf(request.getParameter("tipo_grupo")));
  			parameters.put("imagem", locationImage);

message :(sysout)
host+imagem =  http://127.0.0.1:8090/Relatorio/imagem/mirax.jpg

coloquei essa caminho no ie e  acha a imagem o que fazer ??????

o que fiz pra resolver (solução):

  • versão ireport 3.0

  • fui visualizar/parametros do relatório/novo dei o nome do campo de imagem_dir e o tipo de classe String

  • fui em editar/iserir elemento/imagem

  • em cima do campo imagem e com botão da direita propriedade/imagem/expressão de imagem coloquei $P{imagem_dir}

  • arrastei para o relatório em columheader o campo imagem

  • no java como alimentar o campo imagem_dir com o caminho da imagem no contexto da aplicação

String host = "http://" + request.getServerName() + ":" + request.getServerPort();   
locationImage = request.getContextPath()+ "/imagem/mirax.jpg";   


Map parameters = new HashMap();
parameters.put("imagem_dir", host+locationImage);

String jasper = request.getContextPath()+ "/reports/Grupo001.jasper";   
  			
  			//System.out.println("host+imagem ="+ host+locationImage);
  			URL jasperURL        = new URL(host + jasper);
  			
  			System.out.println("Getting the binary...");   

  			response.setContentType(CONTENT_TYPE_PDF);   
  			byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);   

  			 if (bytes != null) {   
  		             ops = response.getOutputStream();   
  		             System.out.println("Writting binary");   
  		             ops.write(bytes);   
  		             System.out.println("Sending report...");   
  		     }