birt报表笔记一

转载 2013年12月05日 15:57:33
运行时环境要下载birt-runtime     
运行的参数:
  • frameset,以frameset的形式显示报表。这个界面包含一些frame,如页面导航,报表主体在其中的一个frame中显示;使用形式:
    http://localhost:8080/birtApp/frameset?__report=报表文件路径&参数=........
  • run,报表以一个单独的html页面或pdf显示,由于这种形式没有frmaeset,因此使用者必须自己提供相应的参数,如报表参数,页号等。使用形式:
    http://localhost:8080/birtApp/run?__report=报表文件路径&参数=........

对于以上2个动作,以下列出可用的参数:

选项 说明
__format 报表输出格式:html或pdf,缺省是html。对于frameset不起作用。
__isnull 指明一个参数是null,常用于字符串类型。如果提供参数且值为空: - 对于日期和数字类型,BIRT会将它们当作null处理。 - 对于字符串,BIRT会将它作为空字符串。因此,为了说明某个字符串是null,通常写为:__isnull=参数。
__locale 本地化选项,缺省是jvm的locale。
__report 报表设计文件路径。
报表参数 报表参数参数值对,形式:参数名=参数值。对于frameset,直接在地址栏中输入参数名=参数值后回车,不会影响报表结果。虽然,此时选择"运行报表"时,弹出的参数值已经改变。
 

 中文传参:

1.之前看网上有人发帖说有个解决办法是“在viewservlet.jar下找到org/eclipse/birt/report/utility下找到ParameterAccessor.class文件,现在要修改这个文件的源代码, 

你可以在你从CVS中签出的源代码中的org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/utility文件夹中找到ParameterAccessor.java文件,在这个java文件中找到这行:

public static final String UTF_8_ENCODE = "UTF-8"; //$NON-NLS-1$

将这行改为

public static final String UTF_8_ENCODE = "GBK"; //$NON-NLS-1$

然后将这个编译好的class文件压缩到viewservlets.jar的同等目录下,替换原来的文件”,本人也试了这种方法,但没见凑效,不过上面的解决方法好像是在birt2.1的环境下,这个没仔细试,也许对birt2.1有效吧。


2.在JSP中调用BIRT报表时,传的参数中有中文字符,即URL中包含中文字符,这时在BIRT端接收到的参数拼SQL语句后发现中文字符被转码,造成SQL中的条件不正确。
因为在JSP中调用BIRT是在一个JS脚本中,因此要想办法在JS中先将中文转成UTF-8,并且在BIRT获取参数后再将UTF-8转换回中文即可。
实现代码:
页面JS:
Var mychecktype = “中文”;
sqlWhere+="and t.CHECK_TYPE = '"+escape(encodeURI(mychecktype))+"'";

BIRT脚本:
sql+=decodeURI(mycondition);

3.jsp页面:
window.open('frameset?__report=reports/pz_report.rptdesign&__format=HTML&cphParameter='+escape(encodeURI(cph)));
birt 的Script中的initialize中这样写
var cph = params["cphParameter"].value
params["cphParameter"].value = decodeURI(cph);

4.修改tomcat--->conf---->server.xml

 <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000" URIEncoding="UTF-8"
               redirectPort="8443" />

其中: URIEncoding="UTF-8"是加上去的,之前没有

注意:JSP页面的编码和server.xml中的URIEncoding要一致。




 

 

第十二章 BIRT报表的部署与配置(续) .

12.2 BIRT报表的打印和导出 birt报表在打印和导出的时候,如果出现中文字符,有可能会出现文字丢失空白,或者pdf缺少相应字体,或者直接乱码的问题,这个现象非常普遍和复杂。这是一个和环境密切...

birt报表开发菜鸟经验集(二)

这个是点击上文,data空间中的expression后的按钮显示的界面,category原本有五列,第一列是dataset中的字段名称。第二列是表中的绑定的字段。第三列是javascript提供的一些...
  • josoe
  • josoe
  • 2014年01月07日 17:45
  • 629

关于Birt报表之简单的配置。

稍等。

第十二章 BIRT报表的部署与配置

12.1 报表的工作模式以及相应的部署和配置 虽然为了示例的需要,在前文的第二章讲过BIRT的配置,以及在文本类报表,网格报表,图表中用过birt jsp tag,也做过一些说明。但报表的工作模...

如何构建Birt报表应用程序?

BIRT(一)安装Birt报表工具   商业智能(十八) 安装BIRT 发现自己还上了javaeye的头版了,也算是灌水灌出了自己的特色了吧, 希望自己还是加紧时间学习,好为大家...

第十六章 BIRT报表疑难杂惑清理(续)

16.2 关于BIRT分组报表打印或者导出EXCEL出现空白行的解决方案 上一节讲过怎么去除页眉页脚,组眉组脚的空行,不过这还不足以满足中国式复杂的报表。BIRT分组报表是一个非常好用的分组利器...

关于Birt报表的设计

Birt报表设计步骤:1、下载birt all in one 2.2.1.1,包含eclipse,解开下载文件       启动eclipse,必须使用JDK1.5启动eclipse ,否则新建工...

第十四章 高级特性-海纳百川:BIRT报表扩展点

如果仅仅只是前面章节提到的BIRT的设计器的便捷性和BIRT引擎提供的用户自定义BIRT报表展示器等自定义特性,只是表现在BIRT报表作为工具的优势,或者作为服务提供者为系统集成做出的贡献,但这还不足...

BIRT使用1:简介、概念、元素、报表设计器组成

前一篇博客对birt进行了一个初探,相信通过上篇博客大家对birt有个初步认识,接下来我们随着下面这张思维导图的展示,进入birt的使用学习。              这一篇博客是第一部分,主要介绍...
  • lfsf802
  • lfsf802
  • 2013年08月18日 17:35
  • 4040

eclipse birt报表开发入门

1.birt下载和安装
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:birt报表笔记一
举报原因:
原因补充:

(最多只允许输入30个字)