Jump to content
We've recently updated our Privacy Statement, available here ×

getting Error while filling the report


haisureshbabu

Recommended Posts

Hi,

Iam able to compile "test.jrxml" file using the statement

 JasperCompileManager.compileReportToFile(reportFile.getPath(),"abc.jasper");

While filling this report using

JasperPrint jasperPrint = JasperFillManager.fillReport("abc.jasper", map, dataSource); 

getting the following error which is in Bold

Please find my code given in the code part

     [java] net.sf.jasperreports.engine.JRException: Error retrieving field valu
e from bean : Number
     [java]     at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.get
BeanProperty(JRAbstractBeanDataSource.java:127)
     [java]     at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.get
FieldValue(JRAbstractBeanDataSource.java:100)
     [java]     at net.sf.jasperreports.engine.data.JRBeanArrayDataSource.getFie
ldValue(JRBeanArrayDataSource.java:90)
     [java]     at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(J
RFillDataset.java:799)
     [java]     at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDat
aset.java:763)
     [java]     at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFill
er.java:1402)
     [java]     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(
JRVerticalFiller.java:111)
     [java]     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFill
er.java:888)
     [java]     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFill
er.java:810)
     [java]     at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller
.java:89)
     [java]     at net.sf.jasperreports.engine.JasperFillManager.fillReport(Jasp
erFillManager.java:601)
     [java]     at net.sf.jasperreports.engine.JasperFillManager.fillReport(Jasp
erFillManager.java:517)
     [java]     at TestReport.main(TestReport.java:63)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.jav
a:193)
     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava
.java:130)
     [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)

     [java]     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
     [java]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:275)
     [java]     at org.apache.tools.ant.Task.perform(Task.java:364)
     [java]     at org.apache.tools.ant.Target.execute(Target.java:341)
     [java]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
     [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1214)

     [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1062
)
     [java]     at org.apache.tools.ant.Main.runBuild(Main.java:673)
     [java]     at org.apache.tools.ant.Main.startAnt(Main.java:188)
     [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
     [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
     [java] Caused by: java.lang.NoSuchMethodException: Unknown property 'Number
'
     [java]     at org.apache.commons.beanutils.PropertyUtilsBean.getSimplePrope
rty(PropertyUtilsBean.java:1122)
     [java]     at org.apache.commons.beanutils.PropertyUtilsBean.getNestedPrope
rty(PropertyUtilsBean.java:686)
     [java]     at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(Pr
opertyUtilsBean.java:715)
     [java]     at org.apache.commons.beanutils.PropertyUtils.getProperty(Proper

 

Code:
test.jrxml is as follows<?xml version="1.0"?><jasperReport name="PdfEncryptReport" ><field name="Number" class="java.lang.String"/><field name="Name" class="java.lang.String"/><field name="Sal" class="java.lang.String"/><field name="Age" class="java.lang.String"/>	<detail><band height="30"><textField><reportElement x="0" y="0" width="69" height="24"/><textFieldExpression class="java.lang.String"><![CDATA[$F{Number}]]></textFieldExpression></textField><textField><reportElement x="140" y="0" width="69" height="24"/><textFieldExpression class="java.lang.String"><![CDATA[$F{Name}]]></textFieldExpression></textField><textField><reportElement x="280" y="0" width="69" height="24"/><textFieldExpression class="java.lang.String"><![CDATA[$F{Sal}]]></textFieldExpression></textField><textField><reportElement x="420" y="0" width="69" height="24"/><textFieldExpression class="java.lang.String"><![CDATA[$F{Age}]]></textFieldExpression></textField></band></detail></jasperReport>************************************************************************TestReport.javaimport java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.sql.*;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JRExporterParameter;import net.sf.jasperreports.engine.JRParameter;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperPrintManager;import net.sf.jasperreports.engine.JasperRunManager;import net.sf.jasperreports.engine.export.JExcelApiExporter;import net.sf.jasperreports.engine.export.JRCsvExporter;import net.sf.jasperreports.engine.export.JRRtfExporter;import net.sf.jasperreports.engine.export.JRXlsExporter;import net.sf.jasperreports.engine.export.JRXlsExporterParameter;import net.sf.jasperreports.engine.export.oasis.JROdtExporter;import net.sf.jasperreports.engine.query.JRHibernateQueryExecuterFactory;import net.sf.jasperreports.engine.util.JRLoader;import net.sf.jasperreports.engine.JasperReport;import net.sf.jasperreports.engine.*;import net.sf.jasperreports.view.*;import com.home.Singer;import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;import net.sf.jasperreports.engine.JasperManager;public class TestReport {	public static void main(String [] a )	{               try {					 						HashMap map= new HashMap();						 						ArrayList list = new ArrayList();						 						Singer[] reportRows = new Singer[4];						reportRows[0] = new Singer ("N263Y", "T-11", "39 ROSCOE TRNRRACER", "R1830 SERIES");						reportRows[1] = new Singer ("N4087X", "BA100-163", "BRADLEYAEROBAT", "R2800 SERIES");						reportRows[2] = new Singer("N43JE", "HAYABUSA 1", "NAKAJIMAKI-43 IIIA", "R1830 SERIES");						reportRows[3] = new Singer("N912S", "9973CC", "PA18-150","R-1820 SER");						list.add(reportRows);												JRDataSource dataSource =new JRBeanArrayDataSource(reportRows);						JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);						File reportFile = new File("test.jrxml");						//---------------------------------------------------------------------------------  		 						JasperCompileManager.compileReportToFile(reportFile.getPath(),"abc.jasper");						 						JasperPrint jasperPrint = JasperFillManager.fillReport("abc.jasper", map, dataSource);													JasperExportManager.exportReportToPdfFile(jasperPrint,"C://complete.pdf");						 	        }  			catch (JRException e) {            e.printStackTrace();		    }			catch (Exception e) {            e.printStackTrace();		    }	}}*********************************************************************************Finally a Pojo Class called Singer is package com.home;  public class Singer {	private String number;	private String name;	private String age;	private String sal;	public Singer(String  number,String name,String sal,String age)	{		setNumber(number);		setName(name);		setAge(age); 		setSal(sal);		System.out.println(" Object created Constructor called 666666666666666666666666");	}	public void  setNumber(String number)	{		this.number=number;	}	public  void  setName(String name)	{		this.name=name;	}	public void setAge(String age)	{		this.age=age;	}	public void  setSal(String sal)	{		this.sal=sal;	}		public String getNumber()	{		return number;	}	public String getName()	{		return name;	}	public String getAge()	{		return age;	}	public String getSal()	{		return sal;	}		public static void main(String[] args) 	{		System.out.println("Hello World!");	}	 }
Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

In the .jrxml we Should specify the filed names exactly what we gave in Java Bean [Exact Spelling should be ] or POJO class

So .jrxml will be changed as

Myself only found it by doing and observing  another example Iam so happy for this ................................

 

<?xml version="1.0"?>
<jasperReport name="PdfEncryptReport" >
<field name="number" class="java.lang.String"/>
<field name="name" class="java.lang.String"/>
<field name="sal" class="java.lang.String"/>
<field name="age" class="java.lang.String"/> 
  <detail>
  <band height="30">
  <textField>
  <reportElement x="0" y="0" width="69" height="24"/>
  <textFieldExpression class="java.lang.String">
  <![CDATA[$F{number}]]>
  </textFieldExpression>
  </textField>
  <textField>
  <reportElement x="140" y="0" width="69" height="24"/>
  <textFieldExpression class="java.lang.String">
  <![CDATA[$F{name}]]>
  </textFieldExpression>
  </textField>
  <textField>
  <reportElement x="280" y="0" width="69" height="24"/>
  <textFieldExpression class="java.lang.String">
  <![CDATA[$F{sal}]]>
  </textFieldExpression>
  </textField>
  <textField>
  <reportElement x="420" y="0" width="69" height="24"/>
  <textFieldExpression class="java.lang.String">
  <![CDATA[$F{age}]]>
  </textFieldExpression>
  </textField>
  </band>
  </detail>
</jasperReport>
 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...