需求背景
一般报表模板文件名按照开发人员定义的规则都是英文或拼音字母,在业务人员使用导出excel或pdf的时候默认文件名为报表模板的文件名,此时用户希望导出文件名是报表的业务名称。
解决方案
硕迪报表提供jsp的标签自定义saveAsName属性,可修改reportJsp目录下的showReport.jsp和queryReport.jsp的report:html标签的saveAsName属性来实现自定义导出文件名。
首先在jsp的java代码的获得到rpx参数后添加如下代码:
String saveAsName = request.getParameter( "saveAsName" );
if(saveAsName==null || saveAsName.length()==0){
int start = report.lastIndexOf("/");
if(start < 0)start = 0;
int end = report.lastIndexOf(".rpx");
if(end < 0)end = report.length()-1;
saveAsName=report.substring(start,end);
}
本段代码声明了saveAsName变量,先通过请求获得saveAsName参数,如果没有获得到值,使用报表模板文件rpx的文件名。
然后在report:html标签添加saveAsName属性,代码如下:
saveAsName="<%=saveAsName%>"
此处saveAsName属性使用的是前边代码处理后saveAsName变量值。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。