java.lang.NoSuchMethodException:未知属性';activePackage';
我在ireport中指定Fieldname作为实体类中的属性名。但我得到了以下例外java.lang.NoSuchMethodException:未知属性';activePackage';,java,spring,jasper-reports,ireport,Java,Spring,Jasper Reports,Ireport,我在ireport中指定Fieldname作为实体类中的属性名。但我得到了以下例外 java.lang.NoSuchMethodException: Unknown property 'activePackage' at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122) at org.apache.commons.beanutils.Prope
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)
下面是我的jrxml代码
下面是我的实体类代码:
@实体
@JsonAutoDetect
@表(name=“ra\U bdr\U评级”)
公共类RaBdrRating扩展了BaseModel{
@列(name=“active\u package”)
私有字符串包;
公共字符串getActivePackage(){
退货包装;
}
public void setActivePackage(字符串activePackage){
this.activePackage=activePackage;
}
}
这是我的控制器类中的代码
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;
}
publicmodelandview generateHtmlReport(@modeldattribute(“reports”)RaReports model,ModelAndView ModelAndView)引发异常{
Map参数Map=newhashmap();
List PackageList=reportsDao.retrieveAllPackages(型号);
JRDataSource JRDataSource=新的JRBeanCollectionDataSource(PackageList);
parameterMap.put(“数据源”,JRdataSource);
//HtmlReportBean已在jasper-views.xml文件中声明
modelAndView=新的modelAndView(“htmlReport”,参数Map);
返回模型和视图;
}
在这里,activePackage
我在我的实体类中声明为字符串类型的私有变量。因此,在我的jrxml中,我使用了与fieldDescription
相同的名称。如果我在iReport中单击preview,我也会遇到同样的问题。我正在使用iReport 4.5.0。
此处检索所有包(型号)有一个jpa查询,它检索所有包并以类型为RaBdrRating的列表的形式返回。RaBdrRating是我之前发布的实体类。我将该列表传递给JRBeanCollectionDatasource,并将该数据源放置在映射中。现在我想在我的报表中显示该列表。因此,我正在以这种方式在iReport中设计报表字段名必须与实体类中的属性名匹配的方式。我想现在您将对此有所了解。从字段中删除文件描述
<fieldDescription><![CDATA[activePackage]]></fieldDescription>
从字段中删除文件描述
<fieldDescription><![CDATA[activePackage]]></fieldDescription>
添加这个“false”对我很有用
JRDataSource JRdataSource = new JRBeanCollectionDataSource(packagesList, **false**);
添加这个“false”对我很有用
JRDataSource JRdataSource = new JRBeanCollectionDataSource(packagesList, **false**);
嗯,帮助别人首先需要你的代码片段。然后描述一下你的目标和你的尝试。您还应该使用调试器并检查变量获得的值。在此之后,可能会有一个有用的堆栈跟踪查看。你怎么想?一定要发布你的.jrxml.Is
activePackage
private字段中的相关摘录?如果是这样的话,您可以尝试使用它的getter setter方法吗?@VanathiPropertyUtilsBean
与JavaBeans一起工作,并且始终坚持使用getter。@rupa这是一个编译错误吗?你是在iReport上买的吗?您应该发布bean类的代码,帮助人们首先需要您的代码片段。然后描述一下你的目标和你的尝试。您还应该使用调试器并检查变量获得的值。在此之后,可能会有一个有用的堆栈跟踪查看。你怎么想?一定要发布你的.jrxml.IsactivePackage
private字段中的相关摘录?如果是这样的话,您可以尝试使用它的getter setter方法吗?@VanathiPropertyUtilsBean
与JavaBeans一起工作,并且始终坚持使用getter。@rupa这是一个编译错误吗?你是在iReport上买的吗?您应该发布bean类的代码