Jasperreports+jaspersoft studio学习教程(五)- JavaBean作为数据源填充数据

本文主要是介绍Jasperreports+jaspersoft studio学习教程(五)- JavaBean作为数据源填充数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


 在实际项目中,一般使用java对象作为数据源的方式更多,这种方式会更加灵活多变。对于mvc结构更为契合。上面介绍了用JDBC数据源时,用到了Fields对象。本篇主要是使用Fileds对象来匹配JavaBean对象。


5.1 在项目中新建user对象(添加get,set方法),结构如下:




5.2 新建报表模板DemoReport4.jrxml

5.2.1按照user对象新建Fileds(注意数据类型一致)




5.2.2 去掉多余的band,只保留Title,Detail,PageFooter。去掉band的前后距,步骤:模板(DemoReport4)右键 -> Show Propertes -> Page Format -> Edit Page Format




5.2.3 将Filed拖动到 Detail 1 Band。并设计模板,保持Filed的高与Detail Band的高一致




设置页码,打开组件面板 在Composite Elements栏找到Page Number 拖入到 Page Footer 中




保存,并将jrxml文件放入到项目webroot下新建的jrxml目录中。


5.3 编写servlet注入JavaBean数据源。新建JasperServlet3




5.3.1 JasperServlet3的doget如下:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Map<String,Object> parameters = new HashMap<String,Object>(16);String jrxmlPath = request.getServletContext().getRealPath("/")+"/jrxml/DemoReport4.jrxml";//由jrxml文件编译后生产jasper文件的路径String jasperPath = request.getServletContext().getRealPath("/")+"/jasper/DemoReport4.jasper";FileInputStream isRef = null;ServletOutputStream sosRef = null;try {//编译jrxml生产jasper文件JasperCompileManager.compileReportToFile(jrxmlPath, jasperPath);isRef = new FileInputStream(new File(jasperPath));sosRef = response.getOutputStream();//组装list数据源List<User> list = new ArrayList<User>();for(int i = 1; i <= 100; i++) {User user = new User(i,"小明"+i,18,i);list.add(user);}//new JRBeanCollectionDataSource(list)  以javaBean为数据源注入报表数据JasperRunManager.runReportToPdfStream(isRef, sosRef, parameters, new JRBeanCollectionDataSource(list));response.setContentType("application/pdf");} catch (JRException e) {e.printStackTrace();}finally {sosRef.flush();sosRef.close();}}


5.3.2 启动tomcat并访问





这篇关于Jasperreports+jaspersoft studio学习教程(五)- JavaBean作为数据源填充数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/465023

相关文章

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一