Birt支持自定义导出中文名称
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,BIRT 是以 Java 和 JavaEE 为基础为 Web 应用程序开发的基于 Eclipse 的开源报表系统,虽然支持文件导出功能,但不支持导出时动态自定义文件名称,尤其不支持中文。Birt默认提
千家信息网最后更新 2025年01月27日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安全错误
数据库的锁怎样保障安全
我的世界抽奖的服务器
我的世界服务器主城设计图图片
中国网络安全校园启动仪式
山东gps数显钟服务器
浙江企业软件开发收费
全国青少年网络安全编程大赛
胡巧儿数据库原理
数据库怎么查最新的10条数据
ora数据库乱码
软件开发是属于什么专科
数据库的安全防范对象
服务器回收固态硬盘
和平精英登入显示无法连接服务器
循环神经网络技术路线
杭州软件开发app公司哪家强
ovid数据库开始时间
工业化软件开发公司
南京铁道网络安全知识竞赛答案
肇庆通信软件开发商家
石家庄软件开发大学排名
台服 服务器人数
网络安全硬件基础
行政审批局网络安全培训制度
股票软件连接不上服务器
属于文献数据库的有
新兵网络安全教育新闻稿
云服务器数据库密码忘记
网络安全检查结果统计表
河北三星手机服务器租用
数据库等值连接数字