2014-03-13 40 views
7

我想傳遞對象列表來列出jasper報告中的組件。我使用dataSourceExpression作爲list1是新的net.sf .jasperreports.engine.data.JRBeanCollectionDataSource和參數類別是java.util.Listjava.lang.NoSuchMethodException:類'java.lang.String'上的未知屬性''

當我生成報告時,它顯示錯誤,如java.lang.NoSuchMethodException

豆:

public void generateReport() { 
    Statement stmt = null; 
    ResultSet resultset = null; 
    ResultSet resultset1 = null; 
    Connection con = null; 
    String fromdate = "2013-01-01"; 
    String todate = "2013-01-31"; 
    int unitId = 1; 
    String driver = "com.mysql.jdbc.Driver"; 
    String connection = "jdbc:mysql://localhost:3306/compliance?user=root&password=root"; 
    List<Object> shortnamelist = new ArrayList<Object>(); 
    try { 
     String selectstatement = "CALL P_Select_Salary ('" + fromdate + "', '" + todate + "','" + unitId + "', 'Salary_Summary')"; 
     Class.forName(driver); 
     con = DriverManager.getConnection(connection); 
     stmt = con.createStatement(); 
     resultset = stmt.executeQuery(selectstatement); 
     JRResultSetDataSource resultsetdatasource = new JRResultSetDataSource(resultset); 

     String selectstatement1 = "CALL P_Select_Salary ('2013-01-01', '2013-01-31', 1, 'Salary_OA')"; 
     Class.forName(driver); 
     con = DriverManager.getConnection(connection); 
     stmt = con.createStatement(); 
     resultset1 = stmt.executeQuery(selectstatement1); 
     while (resultset1.next()) { 
      String shortname = resultset1.getString("alw_short_name"); 
      logger.info("shortname" + shortname); 
      String workamount = resultset1.getString("Work_amt"); 
      logger.info("workamount" + workamount); 
      shortnamelist.add(shortname); 
      shortnamelist.add(workamount); 
     } 
     logger.info("shortnamelist" + shortnamelist.size()); 
     Map<String, Object> hashmap = new HashMap<String, Object>(); 
     hashmap.put("list1", shortnamelist); 
     String realpath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("common/reports/registerofwages.jasper"); 
     jasperprint = JasperFillManager.fillReport(realpath, hashmap, resultsetdatasource); 
     HttpServletResponse httpservlet = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); 
     httpservlet.addHeader("Content-disposition", "attachment;filename=wageslip.pdf"); 

     try { 
      JasperExportManager.exportReportToPdfStream(jasperprint, httpservlet.getOutputStream()); 
     } catch (JRException ex) { 
      ex.getMessage(); 
     } finally { 
      FacesContext.getCurrentInstance().responseComplete(); 
     } 
    } catch (net.sf.jasperreports.engine.JRException JRexception) { 
     logger.info("JRException Exception" + JRexception.getMessage()); 
     JsfUtil.addErrorMessage("No Datas between FromDate to ToDate"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     close(stmt); 
     close(resultset); 
     close(con); 
    } 
} 

JRXML

 <?xml version="1.0" encoding="UTF-8"?> 
     <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="registerofwages" pageWidth="1008" pageHeight="605" orientation="Landscape" columnWidth="968" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="6847ece9-3089-436e-bb14-8cbbfebd57a9"> 
<subDataset name="dataset2" uuid="1f620401-64dd-42eb-8f05-e40424b866bc"> 
    <queryString language="plsql"> 
     <![CDATA[]]> 
    </queryString> 
    <field name="alw_short_name" class="java.lang.String"> 
     <fieldDescription><![CDATA[]]></fieldDescription> 
    </field> 
    <field name="Work_amt" class="java.lang.String"> 
     <fieldDescription><![CDATA[(daily -> workday*day_Amount), (monthly --> Salary - lop_Amt)]]></fieldDescription> 
    </field> 
    <variable name="shortname" class="java.lang.String"> 
     <variableExpression><![CDATA[$F{alw_short_name}+"="+$F{Work_amt}+","]]></variableExpression> 
    </variable> 
</subDataset> 
<parameter name="list1" class="java.util.List"> 
    <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
</parameter> 
<queryString language="plsql"> 
    <![CDATA[CALL P_Select_Salary ('2013-01-01', '2013-01-31', 1, 'Salary_Summary')]]> 
</queryString> 
<field name="unit_id" class="java.lang.Integer"/> 
<field name="Category_Code" class="java.lang.Integer"/> 
<field name="FromDate" class="java.sql.Date"/> 
<field name="ToDate" class="java.sql.Date"/> 
<field name="emp_id" class="java.lang.String"/> 
<field name="Emp_Class" class="java.lang.String"/> 
<field name="Gender" class="java.lang.String"/> 
<field name="Work_Hrs" class="java.lang.String"/> 
<field name="AB_Hrs" class="java.lang.String"/> 
<field name="LOP_Hrs" class="java.lang.String"/> 
<field name="Paid_Leave_Hrs" class="java.lang.String"/> 
<field name="OT_Hrs" class="java.lang.String"/> 
<field name="WO" class="java.lang.String"/> 
<field name="NFH" class="java.lang.String"/> 
<field name="CO_WO" class="java.lang.String"/> 
<field name="CO_NFH" class="java.lang.String"/> 
<field name="Pay_NFH" class="java.lang.String"/> 
<field name="BASIC_F" class="java.lang.String"/> 
<field name="DA_F" class="java.lang.String"/> 
<field name="SA_F" class="java.lang.String"/> 
<field name="Basic_E" class="java.lang.String"/> 
<field name="DA_E" class="java.lang.String"/> 
<field name="SA_E" class="java.lang.String"/> 
<field name="DY_Alw_E" class="java.lang.String"/> 
<field name="NFH_E" class="java.lang.String"/> 
<field name="Paid_Leave_E" class="java.lang.String"/> 
<field name="LOP_Amt" class="java.lang.String"/> 
<field name="OT_Amt" class="java.lang.String"/> 
<field name="Gross_Amt" class="java.lang.String"/> 
<field name="ESI_F" class="java.lang.String"/> 
<field name="ESI_Amt" class="java.lang.String"/> 
<field name="Emp_ESI" class="java.lang.String"/> 
<field name="Emr_ESI" class="java.lang.String"/> 
<field name="EPF_F" class="java.lang.String"/> 
<field name="EPF_Amt" class="java.lang.String"/> 
<field name="PF" class="java.lang.String"/> 
<field name="EPS" class="java.lang.String"/> 
<field name="EPF" class="java.lang.String"/> 
<field name="Advance_Loan" class="java.lang.String"/> 
<field name="Fine" class="java.lang.String"/> 
<field name="Damage_Loss" class="java.lang.String"/> 
<field name="Other_Deduct" class="java.lang.String"/> 
<field name="Net_Salary" class="java.lang.String"/> 
<field name="Accum_unpaid_Amt" class="java.lang.String"/> 
<field name="Paid_Date" class="java.lang.String"/> 
<field name="Paid_Amt" class="java.lang.String"/> 
<variable name="EarnedDays" class="java.lang.Double"> 
    <variableExpression><![CDATA[(Double.valueOf($F{Work_Hrs})+Double.valueOf($F{Paid_Leave_Hrs})+Double.valueOf($F{NFH})-Double.valueOf($F{CO_WO})-Double.valueOf($F{CO_NFH}))/8]]></variableExpression> 
</variable> 
<variable name="LOP" class="java.lang.Double"> 
    <variableExpression><![CDATA[(Double.valueOf($F{AB_Hrs})+Double.valueOf($F{LOP_Hrs}))/8]]></variableExpression> 
</variable> 
<variable name="UnitsofWork" class="java.lang.Double"> 
    <variableExpression><![CDATA[Double.valueOf($F{Work_Hrs})/8]]></variableExpression> 
</variable> 
<variable name="DailyRate" class="java.lang.Double"> 
    <variableExpression><![CDATA[Double.valueOf($F{BASIC_F})+Double.valueOf($F{DA_F})+Double.valueOf($F{SA_F})]]></variableExpression> 
</variable> 
<variable name="OtherAllowance" class="java.lang.Double"> 
    <variableExpression><![CDATA[Double.valueOf($F{SA_E})+Double.valueOf($F{DY_Alw_E})]]></variableExpression> 
</variable> 
<variable name="variable1" class="java.lang.String"/> 
<variable name="OtherDeduction" class="java.lang.Double"> 
    <variableExpression><![CDATA[Double.valueOf($F{Other_Deduct})+Double.valueOf($F{Damage_Loss})+Double.valueOf($F{Advance_Loan})]]></variableExpression> 
</variable> 
<variable name="NetPay" class="java.lang.Double"> 
    <variableExpression><![CDATA[Double.valueOf($F{Net_Salary})+Double.valueOf($F{Accum_unpaid_Amt})]]></variableExpression> 
</variable> 
<variable name="emp" class="java.lang.String"> 
    <variableExpression><![CDATA[$F{emp_id}]]></variableExpression> 
</variable> 
<background> 
    <band splitType="Stretch"/> 
</background> 
<title> 
    <band height="34" splitType="Stretch"/> 
</title> 
<detail> 
    <band height="26" splitType="Stretch"> 
     <rectangle> 
      <reportElement x="0" y="0" width="968" height="21" uuid="daa5c891-0775-4741-9887-b19d8beda0f3"/> 
      <graphicElement> 
       <pen lineWidth="0.75"/> 
      </graphicElement> 
     </rectangle> 
     <textField> 
      <reportElement x="483" y="0" width="41" height="10" uuid="a36c4a26-7e14-4da1-9d1a-b83c173875b4"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{Basic_E}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="763" y="0" width="25" height="10" uuid="e449b874-a745-468c-89f0-f10b1bd4b7f9"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{Emp_ESI}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="828" y="0" width="29" height="10" uuid="802a4c2e-684c-478f-99ec-31100ea47f70"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{Fine}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="524" y="0" width="41" height="10" uuid="0df3e708-23ba-47f8-b8d6-f3d9b3d6ccd0"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{DA_E}]]></textFieldExpression> 
     </textField> 
     <staticText> 
      <reportElement x="805" y="11" width="55" height="10" uuid="60340cc0-0348-44b4-a1d5-7f91a978c17b"/> 
      <textElement verticalAlignment="Top"> 
       <font fontName="Times New Roman" size="8" isBold="false"/> 
      </textElement> 
      <text><![CDATA[Pre. Unpaid Amt]]></text> 
     </staticText> 
     <textField pattern="###0.00"> 
      <reportElement x="410" y="0" width="35" height="10" uuid="63e0bc64-4313-4bfb-988b-10925ab7fd22"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{DailyRate}]]></textFieldExpression> 
     </textField> 
     <textField pattern="###0.00"> 
      <reportElement mode="Opaque" x="565" y="0" width="41" height="10" uuid="bc821e4a-21ed-42b1-a825-8b450b3df0d7"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{OtherAllowance}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="445" y="0" width="38" height="10" uuid="974eaf1e-85f1-48f7-8e0a-0285522500cc"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{OT_Hrs}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="860" y="11" width="41" height="10" uuid="4580b599-a7d8-430b-b4fb-817be05d7852"/> 
      <textElement textAlignment="Center"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{Accum_unpaid_Amt}]]></textFieldExpression> 
     </textField> 
     <textField pattern="###0.00"> 
      <reportElement x="857" y="0" width="42" height="10" uuid="3f2ddae9-0719-4a3e-96ad-64355f6ae071"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{NetPay}]]></textFieldExpression> 
     </textField> 
     <line> 
      <reportElement x="1" y="10" width="898" height="1" uuid="6d8df80d-8aa0-4225-b032-75b264cc7714"/> 
      <graphicElement> 
       <pen lineWidth="0.25"/> 
      </graphicElement> 
     </line> 
     <line> 
      <reportElement x="900" y="0" width="1" height="21" uuid="d0cf6726-f104-4d9f-9364-2470494bd3f7"/> 
      <graphicElement> 
       <pen lineWidth="0.5"/> 
      </graphicElement> 
     </line> 
     <textField pattern="###0.00"> 
      <reportElement x="788" y="0" width="40" height="10" uuid="4a70eb04-8dd0-456b-993f-47fece07c2bf"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{OtherDeduction}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="734" y="0" width="29" height="10" uuid="eb856a9a-daaa-4fe8-b9b3-a3a0908dccf4"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{PF}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="688" y="0" width="46" height="10" uuid="e67974c7-25a4-4b1c-aac3-363d034ed582"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{Gross_Amt}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="648" y="0" width="40" height="10" uuid="e4fdbff5-68fe-4024-8823-28b49f299884"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{Paid_Leave_E}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="606" y="0" width="42" height="10" uuid="ed79fd25-fdc2-4e15-971b-2c7185a46737"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{OT_Amt}]]></textFieldExpression> 
     </textField> 
     <textField pattern="###0.00"> 
      <reportElement x="383" y="0" width="27" height="10" uuid="4280ee9f-bf59-4c70-9969-0b0363d6e110"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{UnitsofWork}]]></textFieldExpression> 
     </textField> 
     <textField pattern="###0.00"> 
      <reportElement x="345" y="0" width="38" height="10" uuid="d219ec9b-c100-4a73-bec1-216e9b99ebac"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{LOP}]]></textFieldExpression> 
     </textField> 
     <textField pattern="###0.00"> 
      <reportElement x="306" y="0" width="39" height="10" uuid="9dfd193e-5e41-43c1-bf0e-f6712aca2f20"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{EarnedDays}]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="164" y="0" width="15" height="10" uuid="6cc74bcd-3383-47ca-8786-a9a68a159bfc"/> 
      <box> 
       <pen lineWidth="0.25"/> 
       <topPen lineWidth="0.25"/> 
       <leftPen lineWidth="0.25"/> 
       <bottomPen lineWidth="0.25"/> 
       <rightPen lineWidth="0.25"/> 
      </box> 
      <textElement textAlignment="Center" verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[((Integer.valueOf($F{Gender})== 1)? "M" : "F")]]></textFieldExpression> 
     </textField> 
     <textField> 
      <reportElement x="24" y="0" width="66" height="10" uuid="2a2f4987-8efa-4a3e-a537-1ba41126df0a"/> 
      <textElement verticalAlignment="Bottom"> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$F{emp_id}]]></textFieldExpression> 
     </textField> 
     <componentElement> 
      <reportElement x="2" y="11" width="803" height="10" uuid="bf6f9ced-37c6-4c87-b7b3-879cb7cb386a"/> 
      <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Horizontal" ignoreWidth="true"> 
       <datasetRun subDataset="dataset2" uuid="08b6f257-2a35-4041-a1bd-d5186d2c5a34"> 
        <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{list1})]]></dataSourceExpression> 
       </datasetRun> 
       <jr:listContents height="10" width="150"> 
        <textField> 
         <reportElement x="0" y="0" width="52" height="10" uuid="d017a7a8-504a-4483-9ef2-81f6de500155"/> 
         <textElement> 
          <font fontName="Times New Roman" size="8"/> 
         </textElement> 
         <textFieldExpression><![CDATA[$F{alw_short_name}]]></textFieldExpression> 
        </textField> 
        <textField> 
         <reportElement x="68" y="0" width="50" height="10" uuid="e46db97e-3dd6-4b94-b030-e4cf8a473848"/> 
         <textElement> 
          <font fontName="Times New Roman" size="8"/> 
         </textElement> 
         <textFieldExpression><![CDATA[$F{Work_amt}]]></textFieldExpression> 
        </textField> 
       </jr:listContents> 
      </jr:list> 
     </componentElement> 
     <textField> 
      <reportElement x="0" y="0" width="22" height="10" uuid="dfffa32c-a2a8-403e-8b25-6ec49e378493"/> 
      <textElement> 
       <font fontName="Times New Roman" size="8"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> 
     </textField> 
    </band> 
</detail> 
<columnFooter> 
    <band height="21"> 
     <staticText> 
      <reportElement x="508" y="0" width="100" height="20" uuid="507050a7-1b44-4756-a491-8056a027243c"/> 
      <text><![CDATA[Sub Total]]></text> 
     </staticText> 
    </band> 
</columnFooter> 
<pageFooter> 
    <band height="21" splitType="Stretch"> 
     <textField> 
      <reportElement x="439" y="0" width="100" height="20" uuid="cfbb544e-3e85-4845-9043-8d7ae6201d28"/> 
      <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> 
     </textField> 
    </band> 
</pageFooter> 
     </jasperReport> 

堆棧跟蹤:

 net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : 
at net.sf.jasperreports.components.list.HorizontalFillList.prepare(HorizontalFillList.java:254) 
at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:129) 
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:328) 
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:392) 
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:351) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2039) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:771) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:281) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:144) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:891) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:823) 
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88) 
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653) 
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:569) 
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:915) 
at com.p41.reports.RegisterofWages.generateReport(RegisterofWages.java:139) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.apache.el.parser.AstValue.invoke(AstValue.java:278) 
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) 
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) 
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) 
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
at javax.faces.component.UICommand.broadcast(UICommand.java:315) 
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) 
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) 
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at com.p41.setting.FacesFilter.doFilter(FacesFilter.java:145) 
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:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
    Caused by: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : 
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123) 
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96) 
at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100) 
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1317) 
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1218) 
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1194) 
at net.sf.jasperreports.components.list.FillDatasetRun.next(FillDatasetRun.java:168) 
at net.sf.jasperreports.components.list.HorizontalFillList.prepare(HorizontalFillList.java:136) 
... 53 more 
    Caused by: java.lang.NoSuchMethodException: Unknown property '' on class 'class java.lang.String' 
at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1313) 
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:762) 
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837) 
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426) 
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111) 
+0

你能後的異常的堆棧跟蹤嗎? – Endrik

回答

20

我認爲這是舊的,但是,對於尋找它旁邊的人...

碧玉Studio和iREPORT分享到人人有時字段創建空的描述:

<fieldDescription><![CDATA[]]></fieldDescription> 

刪除這些,你應該停止收到此錯誤。

另見:https://community.jaspersoft.com/questions/527187/nosuchmethodexception-unknown-property

+0

你是最好的兄弟,這幫助我加上100從我 –

+0

保存我的一天!謝謝 – Thomas

+0

我工作得很好謝謝 – SoftMolina

0

Yonatan的答案對我的作品!在領域

<fieldDescription><![CDATA[]]></fieldDescription> 

我改變這樣

<fieldDescription><![CDATA[someColumn]]></fieldDescription> 

的someColumn是JPA的attributo暴露JPA Objecte包含的屬性,在設計報告中更改後嘗試報告並工作。 在Java代碼中,我建立一個列表,只打印對象:

List<Producto> toPrint = new Stack<>(); 
    toPrint.add(selected); 
    JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(toPrint); 

對我的作品改變了空字段屬性,該屬性JPA對象包含。

0

對於我剛剛通過false爲JRBeanCollectionDataSource(isUseFieldDescription)的第二個參數解決我的問題。

new JRBeanCollectionDataSource(collection,false);

0

這適用於我。

  • 刪除空格,如果您將它們添加到報告字段中。
  • 添加這樣的錯誤。

    JRDataSource JRdataSource = new JRBeanCollectionDataSource(/*your data's*/, false); 
    
相關問題