Erro com Relatórios com Ireports

1 resposta
newpaulinhu

Bom pessoal Tenho um problema com meu relatorio…

Na verdade ele funciona, busquei de alguns exemplos e consegui faze-lo funcionar imprimindo a tabela com os dados e etc… show de bola tudo funcionando perfeito, se eu não precisasse de mudar alguns parametros.

Fiz alguns testes e pelo simples fato de eu mudar algo de posição ou aumentar o tamanho do pageHeader de 30 pra 31(inacreditável não, é eu sei), ele ja me reporta uma nullPointer na cara, sendo que não mudei os parametros e não mudei a minha servlet que cria o relatorio.

classe GerarRelatorioCliente.java:

List<Cliente> clientesLista = new ArrayList<Cliente>();
		clientesLista.add(new Cliente("Paulo Eduardo", "Copacabana, 54","[email removido]", "São Paulo","12323"));
		clientesLista.add(new Cliente("Adercio Ribeiro", "Ipanema,324","[email removido]", "Bahia","123213"));
		clientesLista.add(new Cliente("Anderson Piotto", "Lapa, 44","[email removido]", "São Pauloo","123123"));
		clientesLista.add(new Cliente("Jonas Jr", "Centro, 32","[email removido]", "São Paulo","12323"));
		clientesLista.add(new Cliente("Renan", "Lapa, 342","[email removido]", "São Paulo","123213"));

		Map<Object, Object> parametros = new HashMap<Object, Object>();
		ServletContext context = getServletContext();
		//Array de byte que servirá para que o usuario possa baixar o relatorio em pdf
		byte[] bytes = null;
		try {
			
			JRBeanCollectionDataSource jrDT = new JRBeanCollectionDataSource(clientesLista);

			parametros.put("titulo", "Relatórios de Clientes");
			
			parametros.put(clientesLista, jrDT);
			parametros.put("total","Total de Clientes: " + clientesLista.size());
			
			JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject(context.getRealPath("/WEB-INF/reports/clientes.jasper"));
			
			//Exporta o relatorio criado com os dados passados para o usuario e armazena no array de bytes
			bytes = JasperRunManager.runReportToPdf(relatorioJasper,
					parametros, new JRBeanCollectionDataSource(clientesLista));
		} catch (JRException e) {
			e.printStackTrace();
		}
		
		if (bytes != null && bytes.length > 0) {
			response.setContentType("application/octet-stream");
			response.setHeader("Content-disposition", "attachment; filename="
					+ "Relatorio Clientes" + ".pdf");
			response.setContentLength(bytes.length);
			ServletOutputStream ouputStream = response.getOutputStream();
			ouputStream.write(bytes, 0, bytes.length);
			ouputStream.flush();
			ouputStream.close();
		}

quando uso o relatorio que tenho aqui pronto funciona que é uma beleza . Se eu mudar o tamanho da banda ja era tomo a nullpointer

<title>
		<band height="38" splitType="Stretch">// Se eu mudar aqui ja era fode tudo kkk 
			<textField>
				<reportElement uuid="d5d6f737-d615-4e03-b751-cca326cd24d5" x="109" y="0" width="349" height="35"/>
				<textElement>
					<font size="20" isBold="true"/>
					<paragraph lineSpacing="1_1_2"/>
				</textElement>
				<textFieldExpression><![CDATA[$P{titulo}]]></textFieldExpression>
			</textField>
		</band>
	</title>

aqui está o log do erro que estou tomando

SEVERE: Servlet.service() for servlet [br.com.future.relatorios.GerarRelatorioClientePdf] in context with path [/AdvocaciaLCA] threw exception
java.lang.NullPointerException
	at java.lang.Class.isAssignableFrom(Native Method)
	at net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706)
	at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394)
	at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368)
	at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
	at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:326)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:262)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
	at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:421)
	at br.com.future.relatorios.GerarRelatorioClientePdf.doPost(GerarRelatorioClientePdf.java:63)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

Ficou meio grande mas não consegui resolver de nenhuma maneira

1 Resposta

newpaulinhu

A linha GerarRelatorioClientePdf.java:63 eu ja verifiquei no debug nada está indo como nulo. só coisas do jasperReports.

Criado 5 de setembro de 2012
Ultima resposta 5 de set. de 2012
Respostas 1
Participantes 1