四、预览结果<o:p></o:p>
使用BIRT提供的预览窗口来预览所制作的报表,这是BIRT必须知道该如何找到在Script中引用的类,而BIRT的预览窗口是使用一个内嵌的web服务器来预览的,所以,我们需要将用于数据库资源访问的类和在script中使用的类打包成jar放入到这个web-app的classpath下。<o:p></o:p>
这个web-app是作为一个Eclipse的plugin存在的,它位置在:<o:p></o:p>
<ECLIPSE_HOME>\plugins\org.eclipse.birt.report.viewer_<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.0.0</st1:chsdate><o:p></o:p>
将打包好的jar文件放入到该plugin下的如下目录:<o:p></o:p>
<ECLIPSE_HOME>\plugins\org.eclipse.birt.report.viewer_<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.0.0</st1:chsdate>\birt\WEB-INFO\lib<o:p></o:p>
然后将你的数据库访问组件所依赖的jar文件都一并拷贝到这个lib目录下,并将数据库访问组件需要的配置文件放入到WEB-INFO下,以便其可以在这个web应用的classpath中找到自己的配置文件<o:p></o:p>
<o:p> </o:p>
另外,如果使用配置文件的话,需要象在Tomcat中使用配置文件一样,将配置文件拷贝到以下目录,以便dom4j能够找到<o:p></o:p>
<ECLIPSE_HOME>\plugins\org.eclipse.birt.report.viewer_<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.0.0</st1:chsdate>\birt\WEB-INFO\classes<o:p></o:p>
<o:p> </o:p>
最后,也是最重要的一点!也是困扰了我几个小时的问题<o:p></o:p>
教程中没有提到,拷贝完自己的这些数据库访问组件后,需要重启Eclipse才能使用!!?<o:p></o:p>
这个viewer的web程序会在每次Eclipse启动时启动,并读入这些配置信息,运行期则不会在重新装载配置信息<o:p></o:p>
<o:p> </o:p>
―――――――――――<o:p></o:p>
另外,还有另一种方法来发布数据库访问组件,就是将编译好的class文件放入到这个WEB-INFO目录的classes目录下,但要注意要建立目录以匹配自己的包结构,就如同普通的Tomcat程序那样<o:p></o:p>
―――――――――――<o:p></o:p>
预览结果:(图)
<o:p></o:p>
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><o:p></o:p>
五、发布环境中运行<o:p></o:p>
发布时的操作要比预览时简单的多,你可以将这个报表文件当作你的web程序中的一个JSP文件来通过URL来访问,并可以在URL中传递参数给报表文件,以便指定查询条件,这些问题在BIRT的教程中讲的很清楚了,这里就不再说明<o:p></o:p>