1-2-springboot中集成ureport2-第2步-覆盖报表默认的本地文件存储路径

1-配置前-默认存储位置

默认本地存储配置位置如下:


如果在项目启动前判断当前程序所在的根磁盘(如G盘)下有/WEB-INF/ureportfiles目录么(即判断是否存在G:/WEB-INF/ureportfiles目录),
1)若有该目录,则设计的模板文件存放在该磁盘下,如下所示:


 测试保存设计文件:

 

2)若不存在上述配置的目录,则真正的目录为“web根目录”+上述配置的/WEB-INF/ureportfiles目录,web根目录如下:    
        WebApplicationContext context = (WebApplicationContext)applicationContext;    
        ServletContext servletContext = context.getServletContext();    
        String basePath = servletContext.getRealPath("/");    
    
    web根目录示例值:C:\Users\Administrator\AppData\Local\Temp\tomcat-docbase.8085.16508293271585982716\

2-默认存储位置的代码跟踪  

3-1-覆盖默认的配置目录-方式1 

添加自定义用于配置ureport2的spring配置文件,将来在该配置文件中对原默认的存储路径进行覆盖 

新增配置文件ureport2-spring.xml 

 

https://www.w3cschool.cn/ureport2/ureport2-2gis3pt7.html

项目中导入该配置文件ureport2-spring.xml 

重新启动项目,验证使用使用自定义配置文件后,ureport2仍然能够正常使用,如下:

http://localhost:8085/ureport/designer

添加自定义路径配置覆盖ureport2默认的配置: 

跟踪默认的ureport2对存储路径的配置,如下: 

补充:ignoreUnresolvablePlaceholders属性作用

PropertyPlaceholderConfigurer的ignoreUnresolvablePlaceholders属性在Spring框架中用于配置属性占位符解析的行为。当设置为true时,如果在属性文件中找不到某个占位符(如${property.name}),Spring将不会抛出异常,而是将该占位符保留为原始字符串,示例如下:

比如,在你的application.properties文件中有一个占位符:

   database.url=jdbc:mysql://${DB_HOST}:${DB_PORT}/mydb

如果ignoreUnresolvablePlaceholders设置为true,而DB_HOST或DB_PORT未定义,

Spring将不会抛出异常,而是将database.url解析为: 

   jdbc:mysql://${DB_HOST}:${DB_PORT}/mydb 

添加自定义配置

在自定义的ureport配置文件中添加引用自定义配置文件的配置 

 添加自定义配置文件ureport2.properties

 

加载上述配置文件

 

测试上述配置是否能正常覆盖默认的存储路径

 打断点:

重新启动项目:

 

测试当不覆盖默认存储路径时,使用的是默认配置的存储路径,如下:

 重新启动项目:

3-2-覆盖默认的配置目录-方式2(推荐)

默认配置代码跟踪 

添加配置类覆盖默认的配置,如下: 

package com.example.demo.config;	
	
import com.bstek.ureport.UReportPropertyPlaceholderConfigurer;	
import org.springframework.stereotype.Component;	
	
import java.util.Properties;	
	
@Component	
public class UReportPropertyPlaceholderConfigurerPlus extends UReportPropertyPlaceholderConfigurer {	
    public UReportPropertyPlaceholderConfigurerPlus() {	
        Properties properties = new Properties();	
        //报表存储路径	
        properties.setProperty("ureport.fileStoreDir", "G:/UReport");	
        this.setProperties(properties);	
    }	
}	

测试上述配置是否能正常覆盖默认的存储路径

 打断点:

 重新启动项目:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值