java.lang.NoSuchMethodException: Unbekannte Eigenschaft 'activePackage'
Gebe ich den Feldnamen in die ireport als Attribut name in der entity-Klasse. Aber ich bin immer folgende Exception.
java.lang.NoSuchMethodException: Unknown property 'activePackage'
at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111)
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:895)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:860)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:837)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1434)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:765)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.fillReport(AbstractJasperReportsView.java:669)
at org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.renderMergedOutputModel(AbstractJasperReportsView.java:559)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
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:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
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:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
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:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
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)
Das folgende ist meine jrxml-code
<?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="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<field name="activePackage" class="java.lang.String">
<fieldDescription><![CDATA[activePackage]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="79" splitType="Stretch"/>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="27" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<text><![CDATA[activePackage]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="26" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{activePackage}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
Die unten ist meine entity-Klasse-code:
@Entity
@JsonAutoDetect
@Table(name = "ra_bdr_rating")
public class RaBdrRating extends BaseModel {
@Column(name="active_package")
private String activePackage;
public String getActivePackage() {
return activePackage;
}
public void setActivePackage(String activePackage) {
this.activePackage = activePackage;
}
}
Dies ist der code in meiner controller-Klasse
public ModelAndView generateHtmlReport(@ModelAttribute("reports") RaReports model,ModelAndView modelAndView) throws Exception{
Map<String,Object> parameterMap = new HashMap<String,Object>();
List<RaBdrRating> packagesList = reportsDao.retrieveAllPackages(model);
JRDataSource JRdataSource = new JRBeanCollectionDataSource(packagesList);
parameterMap.put("datasource", JRdataSource);
//htmlReport bean has ben declared in the jasper-views.xml file
modelAndView = new ModelAndView("htmlReport", parameterMap);
return modelAndView;
}
Hier activePackage
ich habe erklärt, wie die private variable von Typ string in meine entity-Klasse. Also in meinem jrxml gebe ich den gleichen Namen mit fieldDescription
. Wenn ich auf Vorschau in iReport auch dort bin ich immer das gleiche problem. Ich bin mit iReport 4.5.0.
Hier retrieveAllPackages(Modell) hat eine jpa query, das ruft alle die Pakete und die Rückkehr in die form der Liste Typ RaBdrRating.RaBdrRating ist meine entity-Klasse, die ich weiter oben geschrieben.Ich bin vorbei, die Liste der JRBeanCollectionDatasource und platzieren Sie die datasource in der Karte.Jetzt möchte ich die Anzeige der Liste in meinem Bericht.Also bin ich zum entwerfen eines Berichts in iReport in der Weise, dass das Feld name übereinstimmen muss mit dem Attribut name in der entity-Klasse.Ich denke, jetzt bekommen Sie eine Vorstellung auf dieser.
- gut, Menschen zu helfen müsste Ihr code-snippet, das erste. Dann eine Beschreibung von deinen Zielen und was du versucht hast. Auch sollten Sie einen debugger verwenden und überprüfen Sie die Werte Ihrer Variablen. Nach, dass es vielleicht eine nützliche Blick auf diese stack-trace. Was denken Sie?
- Definitiv poste den entsprechenden Auszug aus Ihr .jrxml.
- Ist
activePackage
privaten Bereich? Wenn ja, können Sie versuchen, mit getter-setter-Methoden gibt es? PropertyUtilsBean
arbeiten mit JavaBeans und immer wieder darauf besteht, auf Getter.- Es ist diese compilation Fehler? Hast du es in iReport? Sollten Sie post den code der bean-Klassen
- Ja activePackage privaten Bereich in meinem bean-Klasse und ich habe den setter-und getter-Methoden auch.Ich werde nach dem jrxml und meine bean-Klasse, so dass es einfach für Sie, um das problem zu identifizieren.
- Topolnik,@Vanathi von mir gepostete code.Können Sie bitte überprüfen Sie es und geben Sie mir die Antwort.Ich bin kämpfen, mit dieser Ausnahme von 3 Tagen.Ich bin neu in diesem Forum also wenn was falsch ist bitte ich um Entschuldigung.
- Sobald Sie
$F{activePackage}
und zweimal nuractivePackage
. Einfach Fragen... - Marko Topolnik vielen Dank für die Antwort.Ich habe nicht bekommen, was Sie sagen.Wenn Sie dontmine können Sie kurz erklären.Ich bin völlig neu mit diesem ireport,der Frühling.
- Topolnik Können Sie mir erklären, was falsch in meinem code.Ich habe $F{activePackage} als das textField in meiner band detail und activePackage wie der statische text in meiner columnHeader-band.Alles falsch hier.
- Und diese
RaBdrRating
Instanz ist Ihr model-Objekt, dass du Jasper? Wie genau funktioniert das? Sie haben einige code, den Sie verwenden, um das Objekt zu erstellen? - Ja.Ich habe ein paar mehr Informationen auch.Sie können überprüfen Sie es jetzt.
- Hi,Hast du eine Idee bezüglich dieses Problems.
- noch vor dem gleichen problem, keine Antwort....
- finden Sie heraus, das problem....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen fileDescription aus dem Bereich
Hinzufügen, dass diese "false" funktioniert bei mir