前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[报表篇]-Ureport报表设计器-基础组件配置

[报表篇]-Ureport报表设计器-基础组件配置

作者头像
hahah
发布2022-08-30 12:54:09
2.5K0
发布2022-08-30 12:54:09
举报
文章被收录于专栏:爪哇学习日记爪哇学习日记

更新记录

2021-09-27

​ Ureport报表设计器基础

Ureport报表设计器

1.组件介绍

​ Ureport2 报表设计器是一个基于 WEB 的在线报表设计器,其具有良好的界面设计和强大的报表设计功能,支持报表多种格式导出(分页)、报表通用性设计等,Ureport2 支持简单、复杂报表的设计,能够很好地嵌合实际业务需求,其报表设计可通过纯 sql 或者是配置的方式实现,以此可针对不同的人员进行管理。

​ 在应用上将UReport报表设计器整合到已有项目并非一件难事,只需要通过简单的配置便可完成,主要的工作量在于后期报表的设计、维护,以及UReport2报表设计器的学习需要耗费一定的时间和精力,需要开发人员了解报表设计的流程、原理,掌握排查报表设计错误的方法,熟练应用

与实际业务整合

​ 针对多租户、复杂报表设计场景:Ureport2 可在工程中自定义报表存储器和数据源,在代码逻辑层模拟实现多租户概念(不同的租户访问不同的报表存储器、数据源信息),如果要结合需求实现多租户概念,则相应需要额外对应的维护页面与接口设计

​ 针对大数据量数据处理还存在一定的问题,其中涉及缓存概念,有时候处理特大数据量的时候后台报错,考虑需要深入UReport源码分析或者是相关配置调整;且其提供的图形统计图显示相对EChart而言并不太友好,与实际业务的整合、数据的处理还需要时间的验证,毕竟还需要考虑额外诸多因素

官方学习渠道

ureport

2.实践配置

SSM框架整合UReport报表设计器

构建步骤

代码语言:javascript
复制
1.新建一个maven web项目,引入ureport2包和数据库驱动包
2.在spring配置文件中引入ureport2配置文件
3.在web.xml中配置spring&ureport2,加载组件、配置映射
构建参考

<1>新建maven web项目,在pom.xml中引入依赖

代码语言:javascript
复制
<dependency>
    <groupId>com.bstek.ureport</groupId>
    <artifactId>ureport2-console</artifactId>
    <version>[version]</version>
</dependency>

<2>引入UReport相关的配置文件

ureport的配置文件引入方式有三种

  • 方式1

​ 直接在web.xml中加载ureport-console-context.xml文件(针对普通的Maven工程配置,没有采用spring文件)

代码语言:javascript
复制
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:ureport-console-context.xml</param-value>
</context-param>
  • ​方式2

在已有的spring配置文件中导入数据

代码语言:javascript
复制
<import resource="classpath:ureport-console-context.xml" />
  • 方式3

如果没有spring配置文件,直接创建一个context.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">
<import resource="classpath:ureport-console-context.xml" /></beans>

​ 基于这种方式,在SSM整合中为了避免配置文件混乱,也避免改动原有ssm配置,可以单独在resources目录下创建一个文件夹ureport存放ureport-custom-context.xml配置文件以编辑相关的ureport配置,并在web.xml中配置相应的全局参数(必须在context-param中配置加载文件

<3>在web.xml文件中配置UReport的Servlet

代码语言:javascript
复制
<servlet>
    <servlet-name>ureportServlet</servlet-name>
    <servlet-class>com.bstek.ureport.console.UReportServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ureportServlet</servlet-name>
    <url-pattern>/ureport/*</url-pattern>
</servlet-mapping>

此处对已有的SSM项目整合做说明:

​ 无论是以上哪种方式实现,必须保证在web.xml需要加载相应的spring配置文件,否则项目在启动的时候就会报视图解析失败,没有相应的designer

​ 在整合启动的过程中可能由于maven相关jar包没有正常导入,导致ureport依赖的相关jar包非正常导入,项目启动报错(删除maven仓库的内容,重新导入jar包)

以下简单对整合过程中可能遇到的问题做简单的说明

问题1:指定属性无法找到

问题说明:启动的时候如果报找不到指定的属性:则需要在属性配置的时候需要不存在(未配置)的属性(在applicationContext-dao.xml、springmvc.xml下加载了属性文件,添加属性忽略掉没有定义的属性查找),报错内容如下所示

问题分析:是由于在整合的过程中Ureport报表设计器需要指定的属性并没有在自己搭建的工程中指定,因而报错,针对不同的工程进行调整

  • 针对spring整合工程处理
  • 针对普通maven工程处理

问题2:404或指定designer设计器不存在

问题说明:多模块工程构建场景下,我的构建思路是定义一个dada-report子模块用于开发报表设计相关的内容,但在整合的ssm中配置ureport出错,通过链接访问数据的时候无法找到指定的页面。初步考虑路径配置,之后查看web.xml配置,发现在之前的前端控制器配置中,默认拦截了所有的请求,因此在请求的时候直接被dada-report定义的前端控制器拦截,但dada-report这个控制器下并没有指定的ureport相关的内容存在,因此会报404访问路径错误或者是designer报表设计器不存在的问题,此处需要对dada-report拦截的内容做限制,参考前端控制器拦截(拦截说明、拦截顺序、执行顺序)

  • 加入ureport映射配置
  • [/designer]not exist

配置说明

问题说明:如果出现designer视图不存在,考虑是相应的文件没有加载进去,因为在springmvc.xml中加载了有关的ureport2配置文件,因此要在初始化加载spring容器的时候将对应的springmvc.xml配置文件进行加载,否则无法找到相应内容,出现如下所示错误

​ 配置完成,随后可启动项目,访问链接:http://localhost:8080/ureport/designer

ureport业务流程参考官方文档说明

​ 测试的时候如果出现按钮点击无反应,则可能是弹出式窗口被浏览器拦截,只需要允许弹出即可,或可直接通过url直接访问

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ureport报表设计器
    • 1.组件介绍
      • 2.实践配置
        • SSM框架整合UReport报表设计器
    相关产品与服务
    腾讯云 BI
    腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档