因为一直没有用标签,直接使用url的方式访问报表。但一直有人问标签的使用方法,就大概看了一下
birt的标签定义,大概就是tld文件里的内容,以我的理解翻译一下。
birt标签分为: view, report, param,parameterPage,paramDef这四个标签。
下面就这五个标签简单的说说。
一、view标签
示例:
<birt:viewer id="1"
pattern="run"
reportDesign="test1.rptdesign"
position="absolute"
width="800"
height="500"
left="50"
top="50"
format="html"
svg="false">
<birt:param name="sample" value="abc"/>
<birt:param name="Cust" value="<%=110%>"/>
</birt:viewer>
id: 必须指定,
pattern: 不一定 要指定,指定运行使用的servlet, 默认为frameset
reportDesign: 指定报表文件名
title : 可选,指定报表的标题,其实这不是设计报表的标题,而是报表运行时显示在报表上面的标题。
isHostPage: 可选,默认为false,指定报表是否全屏显示,此属性设置,则width,height,scrolling 属性作废。
scrolling :可选,是否出现滚动条
position: 可选,报表相对于页面的位置,值为static | absolute | fixed | relative,如果设置了isHostPage,该属性作废。
style : 可选,报表显示的样式,没多说的。,如果设置了isHostPage,该属性作废
width,heigth,top,left: 分别设置报表显示的宽,高,上边距,左边距
frameborder :可选,设置报表所在的iframe是否显示边框,默认不显示。值为yes/no
reportDocument : 可选,指定报表文档,只支持file:url,这样的格式。
reportlet : 可选,使用reportDocument ,可指定这个属性,只是指定reportlet 实例的id, 另frameset不支持此属性。
bookmark : 可选,指定目标书签名称
locale : 指定Locale信息,指定语言环境
svg : 可选,指定是否支持输出svg格式文档。
format : 可选,指定报表的输出格式
pageOverflow : 可选,当输出格式为pdf时,指定页面溢出样式,0 表示自动,1表示实际大小,2表示适合页面的大小
pageNum: 可选,指定是否显示页码
pageRange: 指定页面范围。当运行文档文件时指定这个属性。
resourceFolder : 指定相关的资源文件,默认识别web.xml定义的资源文件夹。
showTitle: 是否显示报表标题,默认为true
showToolBar: 是否显示工具条,默认为true
showNavigationBar: 是否显示导航条,默认为true,但是如果allowPageBreak设置为false,该属性作废。
showParameterPage: 是否显示参数对话框。默认为true,
view标签基本就这些了。没什么难的。
二、report标签
和view标签差不多,但是report没有使用ajax支持,而是直接将内容显示在页面。 内部应该使用了preview。
另有一个特别的属性reportContainer,有两个可选值,iframe,和div,默认为iframe. 指定使用report的容器。
其他属性和view都差不多,我就不说了。给个示例:
<birt:report id="2"
reportDesign="test.rptdesign"
position="absolute"
width="400"
height="300"
left="900"
top="100"
format="pdf"
reportContainer="iframe">
<birt:param name="sample" value="abc"/>
</birt:report>
三、param
报表参数相关的标签。
name: 指定报表参数名称
value; 参数值
pattern: 参数格式
displayText: 显示文字
isLocale: 指定参数是否本地化字符
四、parameterPage
配置参数页面。
id : 必选。指定参数页面的id
name : 指定参数页面name,如果isCustom设置为true,则此属性一定要写,且唯一。
isCustom : 指定是否使用用户自定义参数页面。默认为false;
target : 指定请求打开窗口的位置。
其他属性与view相似,这里也不说了。
给个例子:
<birt:parameterPage id="parameterPage"
pattern="run"
reportDesign="test.rptdesign"
target="myiframe"
width="600"
height="400"
format="html"/>
<iframe name="myiframe" width="600" height="400"></iframe>
五、paramDef
这个标签用来生成参数参数页面定义的参数的html代码。
有以下几个属性
id,name,value,pattern,displayText,isLocale,title,style,cssClass.
这样说可能大家还是不懂,
给个例子就明白怎么回事了
<birt:parameterPage
id="report2"
name="page2"
reportDesign="test.rptdesign"
isCustom="true" //指定自定义页面
pattern="frameset">
id: <birt:paramDef id="id" name="id" title="这是设置id的区域"/>
<br><br>
sex: <birt:paramDef id="sex" name="sex"/>
<br><br>
<input type="submit" name="submit" value="Sumbit form"/>
<br><br>
</birt:parameterPage>
假如你的text报表里有两个参数,一个参数为id,另一个参数为sex,这时候假如id是一列值,sex是checkbox.
那么这个参数页面就会把这个id要选择的值显示出来,把sex这个checkbox也显示出来。
自己试试,就会明白其中的道理了。
大概也就说这些吧,还是应该自己去实践实践。