经过2天对于jasper的研究,终于做出了第一个简单的报表打印现在记录一下整个过程
1. pom.xml修改增加

<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>6.6.0</version>
</dependency>
<dependency><groupId>net.sf.jasperreport</groupId><artifactId>jasperreport-font</artifactId><version>6.5.1</version>
</dependency>
<dependency><groupId>com.lowagie</groupId><artifactId>itext</artifactId><version>2.1.7</version>
</dependency>

note: jasperreport-font为下载源代码自己编译生成的,其中有加入先的字体支持中文,文末提供下载地址
2. 配置 resolver 支持ModelAndView显示

import net.pptech.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView;
import org.springframework.web.servlet.view.jasperreports.JasperReportsViewResolver;import javax.annotation.Resource;/*** @author jackychiang*/
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}@Beanpublic JasperReportsViewResolver getJasperReportsViewResolver(){JasperReportsViewResolver resolver = new JasperReportsViewResolver();resolver.setPrefix("classpath:jasper/"); //resources/jasper目录,将jrxml放入该目录resolver.setSuffix(".jrxml");resolver.setReportDataKey("datasource");resolver.setViewNames("*service*");resolver.setViewClass(JasperReportsMultiFormatView.class);resolver.setOrder(0);return resolver;}
}

note: Springboot 2.0之后WebMvcConfigurerAdapter 标记为过时需要自己实现接口

  1. 增加controller
@GetMapping("/order_list")@RequiresUserpublic ModelAndView orderList(Long orderId, final ModelMap modelMap) {Map<String, Object> orderList = documentService.queryOrderList(orderId, getUser().getStoreId());List<Material> materials = (List<Material>) orderList.get("materials");JRDataSource dataSource = new JRBeanCollectionDataSource(materials);modelMap.put("datasource",dataSource);modelMap.put("format", "pdf");modelMap.put("storeName", "中文测试");modelMap.put("userName","蒋xxxxxxx");modelMap.put("userPhone", "xxxxx");modelMap.put("carNum", "渝xxxxx");modelMap.put("carModel", "哈弗H6");modelMap.put("vin","LGW12321312312121");modelMap.put("km","58123");return new ModelAndView("service_letter_of_trust",modelMap);}
  1. service_letter_of_trust.jrxml 文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0  -->
<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="service_letter_of_trust" pageWidth="595" pageHeight="842" whenNoDataType="BlankPage" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="dfe0f072-ae06-47ef-a5ad-40939a619a0d"><property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/><property name="com.jaspersoft.studio.unit." value="mm"/><property name="com.jaspersoft.studio.unit.pageHeight" value="mm"/><property name="com.jaspersoft.studio.unit.pageWidth" value="mm"/><property name="com.jaspersoft.studio.unit.topMargin" value="mm"/><property name="com.jaspersoft.studio.unit.bottomMargin" value="mm"/><property name="com.jaspersoft.studio.unit.leftMargin" value="mm"/><property name="com.jaspersoft.studio.unit.rightMargin" value="mm"/><property name="com.jaspersoft.studio.unit.columnWidth" value="mm"/><property name="com.jaspersoft.studio.unit.columnSpacing" value="mm"/><parameter name="userName" class="java.lang.String"/><parameter name="userPhone" class="java.lang.String"/><parameter name="carNum" class="java.lang.String"/><parameter name="carModel" class="java.lang.String"/><parameter name="vin" class="java.lang.String"/><parameter name="km" class="java.lang.String"/><parameter name="storeName" class="java.lang.String"/><queryString><![CDATA[]]></queryString><field name="materialCode" class="java.lang.String"/><field name="materialName" class="java.lang.String"/><field name="materialCount" class="java.lang.Integer"/><field name="materialPrice" class="java.math.BigDecimal"/><background><band splitType="Stretch"/></background><title><band height="88" splitType="Stretch"><staticText><reportElement x="6" y="46" width="54" height="20" uuid="12fdd4f4-795b-431e-a813-c98714c67910"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[客户姓名]]></text></staticText><staticText><reportElement x="6" y="68" width="54" height="20" uuid="166f60b4-aefa-47fe-bb31-979e7a4cf5de"/><textElement textAlignment="Left" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[客户电话]]></text></staticText><textField><reportElement x="60" y="46" width="100" height="20" uuid="587beebf-4f4e-49a3-9355-753971c3dd80"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$P{userName}]]></textFieldExpression></textField><textField><reportElement x="60" y="68" width="100" height="20" uuid="f1c05726-e180-4cd0-a0f0-2d06f92464b8"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$P{userPhone}]]></textFieldExpression></textField><staticText><reportElement x="160" y="46" width="54" height="20" uuid="2d2c33e8-780b-42db-ac66-a075674752a4"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[车牌号码]]></text></staticText><staticText><reportElement x="160" y="68" width="54" height="20" uuid="61befc35-b48f-4934-ab5c-8b0ac16e2030"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[车辆型号]]></text></staticText><textField><reportElement x="214" y="46" width="100" height="20" uuid="cbac0147-24b2-47b1-ae25-8e615d7b4e70"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$P{carNum}]]></textFieldExpression></textField><staticText><reportElement x="314" y="46" width="54" height="20" uuid="ea7123d7-e24f-42e4-99bd-3314a4a286e6"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[VIN码]]></text></staticText><textField><reportElement x="214" y="68" width="100" height="20" uuid="b5330ecd-0f7c-46e5-87b9-b2cf04639b26"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$P{carModel}]]></textFieldExpression></textField><textField><reportElement x="368" y="46" width="182" height="20" uuid="0f7c3261-d8f4-46c2-8b43-c96a0dc81a8a"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$P{vin}]]></textFieldExpression></textField><staticText><reportElement x="314" y="68" width="54" height="20" uuid="7897242f-9f4d-480e-8f3e-fd336e2c6e74"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[里程(Km)]]></text></staticText><textField><reportElement x="368" y="68" width="182" height="20" uuid="630e54d8-a4b8-4a0a-b8b2-1fc2048e9278"/><textElement verticalAlignment="Middle"><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$P{km}]]></textFieldExpression></textField><textField><reportElement x="6" y="10" width="308" height="30" uuid="ab813d40-4ca1-4afc-b5bd-028d4974f4bf"/><box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0"><pen lineWidth="0.0"/></box><textElement verticalAlignment="Middle"><font fontName="宋体" size="18"/></textElement><textFieldExpression><![CDATA[$P{storeName}]]></textFieldExpression></textField></band></title><columnHeader><band height="20"><staticText><reportElement x="6" y="0" width="144" height="20" uuid="37caac76-fa7b-4059-8ac8-0acb24dd15de"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[零件名称]]></text></staticText><staticText><reportElement x="150" y="0" width="40" height="20" uuid="67032300-5eff-44da-9dfb-30e8d44edbb4"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[数量]]></text></staticText><staticText><reportElement x="190" y="0" width="76" height="20" uuid="000cb987-4ce3-4b20-8c24-86e2b3887618"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[材料单价(元)]]></text></staticText><staticText><reportElement x="266" y="0" width="68" height="20" uuid="0c07454c-0840-4a3b-a815-c7f08943497c"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[工时费(元)]]></text></staticText><staticText><reportElement x="334" y="0" width="54" height="20" uuid="81e86971-4606-43a7-b522-bdb01e1e953f"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[合计(元)]]></text></staticText><staticText><reportElement x="388" y="0" width="62" height="20" uuid="9e099f02-0e0e-4527-b881-4c044d881312"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[是否订货]]></text></staticText><staticText><reportElement x="450" y="0" width="100" height="20" uuid="27626fea-ed8d-47b6-92a1-949714a94543"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="宋体"/></textElement><text><![CDATA[领料人]]></text></staticText></band></columnHeader><detail><band height="21" splitType="Stretch"><textField><reportElement x="6" y="0" width="144" height="20" uuid="79f6d666-db9f-41a2-b773-205c89e0ef5b"><property name="com.jaspersoft.studio.spreadsheet.connectionID" value="55da8db3-ecdf-4a3d-8b30-393bc736f043"/></reportElement><textElement><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{materialName}]]></textFieldExpression></textField><textField><reportElement x="150" y="0" width="40" height="20" uuid="b50fd257-d11a-4e0b-a1ea-1723b383ba6d"><property name="com.jaspersoft.studio.spreadsheet.connectionID" value="78956194-827a-499e-9556-0e5a1ce80fb0"/></reportElement><textElement><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{materialCount}]]></textFieldExpression></textField><textField><reportElement x="190" y="0" width="90" height="20" uuid="9a689da4-5847-45a8-8b64-2e8456df7373"><property name="com.jaspersoft.studio.spreadsheet.connectionID" value="5c0c9d68-6d08-459f-a393-1cc05a5bac63"/></reportElement><textElement><font fontName="宋体"/></textElement><textFieldExpression><![CDATA[$F{materialPrice}]]></textFieldExpression></textField></band></detail>
</jasperReport>
  1. 未实现问题说明

    • 生成html文件
  2. 文件下载
    • 字体文件:simsun.ttf
    • jasperreport-font.jar

springboot 整合jasperReport 6.6.0 记录相关推荐

  1. SpringBoot整合MyBatis与MySql8.0

    一.前言 之前已经有一篇文章讨论过SpringBoot整合MyBatis,因而此篇不在重复累赘,本文主要是最新版的SpringBoot2.0与MyBatis.最新MySQL8.0整合过程中遇到的问题进 ...

  2. seata xid是什么_微服务分布式事务解决方案-springboot整合分布式seata1.3.0

    概述 Seat是蚂蚁金服和阿里巴巴联合推出的一个开源的分布式事务框架,在阿里云商用的叫做GTS. 项目地址:https://github.com/longxiaonan/springcloud-dem ...

  3. Springboot整合Swagger UI 3.0.0 版本

    一.前言 在之前的项目中,以及提到了如何整合 Swagger UI 2 版本,包括导入jar包,编写配置文件,以及需要对应的springboot版本等. 链接如下:https://blog.csdn. ...

  4. SpringBoot 整合eazyPoi 4.3.0 Excel数据导入导出(持续更新功能)

    目录 依赖 注解用法说明 @ExcelTarget 绑定Id @Excel 用在字段上面 @ExcelCollection 实体代码 Excel导出 正常数量导出(1-2W条) 大数据量导出 多she ...

  5. 关于SpringBoot整合Shiro并入redis缓存

    关于SpringBoot整合Shiro并入redis缓存 最近做一个小项目加入shiro权限框架, Shiro是Apache下的一个开源项目,提供了认证.授权.加密.会话管理,与spring Secu ...

  6. Jasperreport之与Springboot整合

    环境: jdk1.8 Jaspersoft Studio 6.5.0 Jasperreport 6.5.0 Springboot 1.5.x 一  用Jaspersoft Studio报表设计器设计一 ...

  7. SpringBoot整合DWR-3.0.2-RELEASE版本,以及解决项目在开发环境及其外置Tomcat运行正常,独立JAR形式内置Tomcat运行异常的问题

    SpringBoot整合DWR 3.0.2-RELEASE填坑日记 填坑背景 问题溯源 填坑步骤 一.示例代码结构 二.示例代码说明 1.框架配置代码编写 2.后端服务代码编写 3.后端服务注册配置 ...

  8. spring boot连接redis配置127.0.0.1_Java技术分享——Springboot整合redis

    springboot提供了spring-data-redis的框架来整合redis的操作.下面主要介绍,springboot整合redis的配置,以及spring-data-redis是如何提供便捷的 ...

  9. 解决springboot整合dubbo中No provider available from registry 127.0.0.1:2181 for service x.x.x on consumer

    解决springboot整合dubbo中No provider available from registry 127.0.0.1:2181 for service x.x.x on consumer ...

最新文章

  1. 设置status bar的颜色
  2. Leetcode 198.打家劫舍 (每日一题 20210622)
  3. python判断是否是小写字母_python判断字符串是字母 数字 大小写(转载)
  4. python做平面设计有前途吗_现在学平面设计还有发展前景吗?
  5. qc35 说明书_使用Bose QC35 2年的心得 | 迟而不迟的深度体验 | 文附佩戴效果照片...
  6. Windows下使用emacs+cscope
  7. RTOS原理与实现08:存储块实现
  8. Sm快递柜-给图片设置点击下去颜色变深
  9. 在学校报名了计算机一级考试时间,2020年山东计算机一级报名及考试时间
  10. 多维数据库概述之一---多维数据库的选择
  11. 华为php工程师待遇,【博士Offer求比较】211vs华为vs半导体设备商 - 找工作啦(Job)版 - 北大未名BBS...
  12. JS之BigNumber.js 讲解
  13. 区块链会员积分系统如何构建及应用逻辑
  14. 基于决策树算法对良/恶性乳腺癌肿瘤预测
  15. 云计算的发展趋势是什么?
  16. 你了解眼角膜移植术吗?哪些眼疾需要接受角膜移植呢?
  17. php如何截取出视频中的指定帧作为图片
  18. [linux命令]查找包含指定内容的文件
  19. 3_01_GLib库入门与实践_测试框架
  20. Opencv+ZBar识别条形码、二维码

热门文章

  1. PageAdmin个性化建站心得——图片处理
  2. 马云3退阿里,还会有第4次?
  3. 紫田网络事件 与 狐狸的故事
  4. 聚乙烯醇和壳聚糖水凝胶复合物负载黑磷纳米片/壳聚糖氧化石墨烯纳米水凝胶的研究制备
  5. Eclipse开发调试RMI指南
  6. FreeIPA环境搭建(二):客户端环境配置
  7. 数电学习(二、逻辑代数)
  8. java秒杀架构设计_秒杀系统设计架构与实现
  9. “易燃易爆炸”的零食产业该如何“控温”?
  10. C++抽象编程——回溯算法(1)——迷宫问题