`
layznet
  • 浏览: 226399 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JasperReports使用Scriptlet时,JRAbstractScriptlet的每个方法被执行了两次

阅读更多
在JasperReports中使用了scriptlet,发现继承自JRAbstractScriptlet 的每一个方法对于每一条记录都被执行了两次,而实际上只会被执行一次。后来发现这是classpath下有两个“重复”的jar包导致的。我把JasperReports3.6.1发行包dist下的jasperreports-3.6.1.jar和jasperreports-javaflow-3.6.1.jar两个jar包都放到了工程lib下,这两个jar包里的内容很多是相同的,它们也都有net.sf.jasperreports.engine.JRAbstractScriptlet类。删除jasperreports-javaflow-3.6.1.jar后就正常了(在JasperReports网站发行包下载页已标注该包是Optional)。
至少到3.6.1版本,都还有这个问题,也算是一个Bug了,因为通常情况下,系统找到一个可用的类后就不会再到其他的jar包里寻找了,而JasperReports会继续到其他的jar包中寻找同样可用的类。
分享到:
评论

相关推荐

    ireport scriptlet脚本的使用

    // 在每个细节段后执行的逻辑,这里可以处理小写金额转换 String amount = (String) getCurrentRowValue("amount"); // 获取小写金额字段 String capitalizedAmount = convertToCapitalized(amount); // 转换方法...

    在struts2中使用JasperReports

    这个方法会加载数据,执行查询,然后使用JasperFillManager填充报表,并通过JasperExportManager导出报表到指定格式。 5. **配置Struts2 Action**:在struts.xml配置文件中,定义Action的映射,指明执行报表生成的...

    jasperreports-3.7.0 使用的工具包

    2. **JDT-Compiler-3.1.1**: 这是Eclipse的Java Development Tools (JDT)的一部分,提供了一个编译器,使得JasperReports能够在运行时动态编译Java源代码,用于自定义报告逻辑。 3. **Groovy-All-1.5.5.jar**: ...

    jasperreports 使用教程资料

    **jasperreports 使用教程资料** jasperreports 是一个强大的开源报告生成库,它允许开发者用 Java 语言设计和创建各种类型的报表,包括 HTML、PDF、Excel 和其他格式。jasperreports 的灵活性和丰富的功能使其在 ...

    jasperreports-6.1.1 jar包

    它通过将报表分解为多个可执行的部分(流),在需要时按需加载,显著改善了处理大数据量报表的能力。 使用这些JAR文件,开发者可以轻松地在Java应用程序中集成报表功能。首先,需要将这些库添加到项目的类路径中。...

    Jasperreports教程

    `JasperReport_JasperFillManager_fillReportToFile.mht`可能详细解释了`JasperFillManager.fillReportToFile()`方法,它是JasperReports库中用于将填充后的报表保存到文件的重要方法,这对于批量生成报表或后续处理...

    jasperreports-3.7.0的jar包

    IReport是一款基于GUI的报表设计器,用户可以通过拖放的方式构建报表布局,然后将其编译成.jrxml文件,该文件可以被JasperReports引擎读取并执行。3.7.0版本虽然较旧,但仍然支持许多基本和高级的报表设计功能,适合...

    jasperreports所有的jar包

    它可能包含用于读取、处理和转换Wikipedia XML数据的工具,与JasperReports本身的报表生成功能无关,但可能作为数据源被JasperReports使用。 2. **groovy-all-1.7.5.jar**:Groovy是一种动态的、面向对象的编程语言...

    jasperreports-fonts.zip

    标题“jasperreports-fonts.zip”暗示这是一份与JasperReports相关的字体资源包,而描述中的“jasperreport支持中文jar包”则指出这个压缩文件包含的是为了使JasperReports能够正确显示中文字符的特殊组件。...

    JasperReports+iReport在eclipse中的使用

    ### JasperReports+iReport在Eclipse中的使用详解 #### 一、JasperReports简介与特性 JasperReports是一款开源的报表工具,它能够根据预定义的模板生成多种格式的报表,如PDF、HTML、XML等,并且支持CSV、XLS、RTF...

    使用jasperreports制作报表(导出pdf excel html)

    5. **设计细节段**:细节段是报表的主要部分,根据数据源中的每一行生成一个细节段实例。 6. **保存JRXML文件**:设计完成后,保存报表为JRXML格式,这是JasperReports的源代码文件。 ### 四、程序集成与报表生成 ...

    jasperreports 3.7.5

    jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports

    jasperreports

    本文将详细探讨JasperReports 4.7.0版本的核心特性、设计原理及其实现方法,旨在帮助开发者深入理解并充分利用这一强大的报告生成库。 1. **JasperReports概述** JasperReports是一个用Java编写的库,它允许开发者...

    jasperreports-1.3.3与iReport1.3.3初级使用

    通过实践创建简单的报表,逐步熟悉其工作原理和使用方法,再逐渐挑战更复杂的设计和功能。 **标签解析** - **源码**:JasperReports是一个开源项目,它的源代码是公开的,开发者可以查看和修改源代码,了解其内部...

    jasperreports-3.5.3.jar

    jasperreports-3.5.3.jar jasperreports-3.5.3.jar jasperreports-3.5.3.jar

    iReport+jasperReports 联合开发JAVA报表

    深入了解这两个工具的功能和使用方法,将有助于提升报表开发的效率和质量。在实际项目中,不断实践和探索,结合提供的学习资源,将能更好地掌握这些工具,从而为业务决策提供强有力的数据支持。

    jasperreports-javaflow-6.3.0.7z_JASPERREPORT_

    "jasperreports-javaflow-6.3.0.jar"是JasperReports的一个扩展,它引入了Java流程控制(JavaFlow)功能,允许在复杂的报表中执行流控制结构,如循环和条件语句。这使得在单个报表内实现更复杂的逻辑成为可能,极大...

    jasperReports小例子

    4. **报表编译**: JRXML文件需要被编译成.jasper文件,这是一个二进制格式,jasperReports引擎可以理解和执行。`default.jasperreports.properties`文件可能包含编译和运行时的配置,比如默认字体、样式等。 5. **...

    jasperreports-5.6.0和4.6.0.rar

    本文将深入探讨JasperReports 5.6.0和4.6.0这两个版本的关键知识点,以及它们在报表开发中的应用。 1. **JasperReports简介** JasperReports是一个用Java编写的开源报表库,它支持多种数据源,包括数据库、CSV文件...

    jasperreports-4.1.3-lib+src.zip

    4. **示例(samples)**:尽管原始的示例目录被删除,但压缩包可能还包含一些基础的示例代码,这些代码展示了如何使用JasperReports创建和填充报表。 5. **配置文件**:如jasperreports.properties,定义了...

Global site tag (gtag.js) - Google Analytics