了解Ureport2

从上面这段对ureport2的描述中,可以整理出如下信息:

  1. 这个组件是用来生成报表的
  2. 它是用java语言编写的
  3. 基于spring构建,以spring在如今java应用系统中的普及率来看,这意味着这款报表组件能够很好的与大部分系统结合
  4. 高性能-目前还是初次接触,并没有做过性能测试,因此这里假设它是高性能的
  5. 通过迭代单元格来实现任意复杂的中国式报表,回想一下以前用过的报表组件,最早接触到的是java写的jfreechart,用的最多的是js写的highcharts,最经典的用法就是后台准备数据,然后交给highcharts中各个具体的控件来渲染.因为之前都是停留在使用层面上,所以这里的迭代单元格我不太明白,是说可以通过对每个单元格定制数据和样式来实现复杂的报表吗?
  6. 它提供了一个网页版的设计器

搭建简单示例

  1. 新建一个maven web项目,然后导入ureport2包和数据库驱动包,如下图:
  2. 在spring配置文件中导入ureport2配置文件
  3. 然后就是在web.xml中配置spring和ureport2,如下图:
  4. 最后部署运行这个web应用,打开http://localhost:8080/ureport/designer就可以使用设计来创建报表

项目结构

github ureport2项目主页上可以看到如下图:

目录 内容
docs 项目相关文档
ureport2-console 处理报表设计发送的报表相关的请求
ureport2-core 相关模型定义、报表解析、存储、导出和构造相关的代码
ureport2-font 自定义字体
ureport2-js 网页设计器js脚本
ureport2-parent 包含项目的一些基本信息,比如license,开发人员,maven仓库配置等

熟悉报表设计器

工具栏

报表内容设计区

非表格类型的报表设计:

数据源面板

报表的目的是更直观的展示数据,数据集就相当于一个逻辑数据块,类似于sql里面的视图

单元格属性配置面板

几个简单的用例

企业供应信息统计

表达式列的使用

饼形图

创建查询表单

源代码浅析

找到入口

在web.xml中配置的UReportServlet是ureport2-console项目的入口,它处理所有/ureport前缀的请求并根据url将具体的请求分发到对应的ServletAction来实现

具体的代码分析

在chrome中可以通过控制台网络面板看到在ureport2进行各种操作后发送到后台的请求来跟踪具体模块的代码,如下图:

所有的报表逻辑处理类在ureport-console项目src/main/resources/ureport-console-context.xml文件中都有配置

ureport2学习笔记相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  3. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  5. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  6. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  7. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  8. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  9. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

  10. NuGet学习笔记(3) 搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

最新文章

  1. android 图片操作
  2. VTK:PolyData 的轮廓用法实战
  3. 修改WampServer的默认端口
  4. lcx转发3389数据
  5. 盘点9个你可能不会用的JS技巧
  6. 班级日常分享 | 一天一瞬间!
  7. 本页由试用版打印控件lodop6.2.6输出_Visual Basic 6.0 Sirk 迷你版
  8. Windbg 离线调试.Net 程序入门
  9. 菜鸟学习Spring——初识Spring
  10. 基于python的文件处理
  11. android shape大小,Android中shape属性详解
  12. uni-app在手机上背景图片不显示
  13. 我对于部门经理、项目经理与技术经理的理解
  14. baidumap api MySQL_百度地图API
  15. 【ML】 第四章 训练模型
  16. C++ —— 宏对于简化类接口的奇技淫巧
  17. 微精:推荐+订阅=个性化智能体验
  18. [NSSCTF][SCTF 2021]WEB复现
  19. 数据流图、数据流程图、程序流程图的区别与联系
  20. 真香啊,Python 资深开发者用的贼溜的9个实用技巧

热门文章

  1. badboy无法录制 浏览器版本过低请下载最新的Badboy
  2. 周杰伦 青花瓷 蒲公英的约定 我不配 彩虹 歌词和下载
  3. 图像变换中的常用插值方法(含公式推导)
  4. 六年级上册计算机教材分析,人教版六年级上册数学教材分析
  5. (1)外网映射(NATAPP快速入门)
  6. 【数据分析系列】Python数据预处理总结篇
  7. PS去除图片白底制作微信表情包
  8. 微信表情图像代表什么意思_微信表情含义图解大全(微信58个表情含义图)
  9. 芯洲 DCDC SCT2433STER参数可以P2P替代TPS5430DDAR,3.8V-40V输入,3.5A,低静态电流同步降压DCDC转换器
  10. 弦图(Chordal Graph)学习小记