Birt支持自定义导出中文名称
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,BIRT 是以 Java 和 JavaEE 为基础为 Web 应用程序开发的基于 Eclipse 的开源报表系统,虽然支持文件导出功能,但不支持导出时动态自定义文件名称,尤其不支持中文。Birt默认提
千家信息网最后更新 2025年12月03日Birt支持自定义导出中文名称
BIRT 是以 Java 和 JavaEE 为基础为 Web 应用程序开发的基于 Eclipse 的开源报表系统,虽然支持文件导出功能,但不支持导出时动态自定义文件名称,尤其不支持中文。
Birt默认提供了两种导出文件时自定义名称的方法,如下:
- DefaultFilenameGenerator:报表文件名称.后缀名
- TimestampFilenameGenerator:报表文件名称+yyyyMMdd-HHmmss.后缀名
Birt若实现自定义导出文件名称,需要实现org.eclipse.birt.report.utility.filename包下的IFilenameGenerator接口,具体操作如下:
- 自定义实现IFilenameGenerator 接口
public class CustomExportGenerator implements IFilenameGenerator { @Override public String getFilename( String baseName, String fileExtension, String outputType, Map options) { return baseName + "." + fileExtension; }}从上面的代码看出,IFilenameGenerator 中的方法默认没有提供自定义文件名称,这时候只能够从Map options参数中获取,当然如果不嫌麻烦的话,也可以重写getFilename接口。
Object obj = options.get("httpRequest"); if(obj !=null && obj instanceof RequestFacade){ RequestFacade request = (RequestFacade)obj; exportName = ParameterAccessor.getParameter(request,"__filename"); }- 配置Birt的导出文件生成类
修改web.xml
BIRT_FILENAME_GENERATOR_CLASS org.eclipse.birt.report.utility.filename.CustomExportGenerator - 支持中文
文件名称:org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment
方法: doPreService( HttpServletRequest request, HttpServletResponse response )
操作:
String filename = ParameterAccessor.getExportFilename( new BirtContext( request, response ), format, emitterId ); String displayName = URLEncoder.encode(filename,"utf-8"); displayName = displayName .replace("+","%20"); response.setCharacterEncoding("utf-8"); response.setHeader("contentType", "text/html; charset=utf-8"); response.setHeader( "Content-Disposition", //$NON-NLS-1$ ParameterAccessor.htmlEncode( openType ) + "; filename=\"" + ParameterAccessor.htmlEncode(displayName ) + "\"" ); - 修改Tomcat的编码
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- 访问方式:
frameset?report=test.rptdesign&format=docx&__filename=测试
文件
名称
支持
报表
接口
方法
中文
后缀
utf-8
代码
功能
动态
参数
基础
应用程序
文件名
方式
程序
系统
编码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全小卫士手抄板
龙岩软件开发专业
30岁学软件开发有前途吗
网页实现数据库搜索
网络安全概论ppt
软件开发大赛获奖作品
v5服务器创建raid0
保定行为管理服务器
网络安全资产管理工具
天阔曙光服务器怎么做raid
陕西电商软件开发报价
宁夏网络安全宣传信息
电脑及网络安全工程师租赁合同
俄罗斯网络技术发达吗
自身如何提高网络安全意识
给db2数据库添加用户
企业配方管理软件开发
查看服务器上所有的软件
cf服务器显示器
计算机信息网络安全包括
服务器大小与价格
电子商务与软件开发
数据库索引删除吗
数据网络安全证书含金量
普陀区软件开发技术服务
c 连接数据库实现保存
云南自由互联网科技公司
中行x86服务器采购
灭世网络技术组
网络安全带来的便利