报表类路径

四、报表生成的准备工作

BIRT支持HTML, Adobe PDF, Adobe PostScript (PS), Microsoft Excel (XLS), Microsoft PowerPoint (PPT)和 Microsoft Word (DOC) 格式的报表生成器。你也可以通过扩展支持自定义的格式。

有三个task类用来支持从源文件生成报表,就是:

■ IRunAndRenderTask. 通过运行报表设计文件直接生成目标格式的报表。调用方法ReportEngine.createRunAndRenderTask( )可以创建这个对象。

■ IRunTask. 通过报表设计文件生成报表文档,ReportEngine.createRunTask( )方法可以创建这个对象。

■ IRenderTask. 通过对报表文档中的内容进行格式化生成一个完整的报表或一个页面集。ReportEngine. createRenderTask( )方法返回该对象的一个实例。
每一个任务都可以使用多个报表文件,任务结束后都要调用close方法关闭。

为运行报表设计文件准备参数
IRunAndRenderTask 和 IRunTask对象允许设置报表参数。调用setParameterValues( )方法,通过传入一个参数的HashMap设置所有的参数,设置单个参数可以使用setParameterValue( )方法。

添加到报表引擎的类路径
一些报表设计需要扩展的java类,BIRT报表引擎通过使用环境变量信息定位类。通过动态设置应用程序上下文信息或引擎配置对象也可以配置java类的位置。使用EngineConstants中的常量来配置这些参数。

使用EngineTask对象和EngineConfig对象可以设置应用程序上下文,如下:

Java代码 复制代码
  1. configOrTask.getAppContext( ).put(    
  2.         EngineConstants.APPCONTEXT_CLASSLOADER_KEY,    
  3.         MyClass.class.getClassLoader( ));  
configOrTask.getAppContext( ).put( 
        EngineConstants.APPCONTEXT_CLASSLOADER_KEY, 
        MyClass.class.getClassLoader( ));



使用EngineConfig对象设置CLASSPATH,如下:

Java代码 复制代码
  1. config.setProperty( EngineConstants.WEBAPP_CLASSPATH_KEY,   
  2.     "c:/myjars/jar1.jar;c:/myclasses" );  
config.setProperty( EngineConstants.WEBAPP_CLASSPATH_KEY,
    "c:/myjars/jar1.jar;c:/myclasses" );



使用Java System类设置CLASSPATH,如下:

Java代码 复制代码
  1. System.setProperty(EngineConstants.WEBAPP_CLASSPATH_KEY,   
  2.       "c:/myjars/jar1.jar;c:/myclasses" );  
 	System.setProperty(EngineConstants.WEBAPP_CLASSPATH_KEY,
        "c:/myjars/jar1.jar;c:/myclasses" );



BIRT按下面的顺序来查找扩展类:
■ 报表引擎plug-in的CLASSPATH
■ 上下文环境中定义的EngineConstants.APPCONTEXT_CLASSLOADER_KEY
■Java System 类或EngineConfig 中定义的EngineConstants.WEBAPP_CLASSPATH_KEY.
■Java System 类或EngineConfig 中定义的EngineConstants. PROJECT _CLASSPATH_KEY.
■Java System 类或EngineConfig 中定义的
EngineConstants. WORKSPACE _CLASSPATH_KEY.
■ 报表设计中引入的JAR文件

为报表设计提供外部对象
BIRT支持把以前实例化的对象拿过来重用。调用报表引擎前你要在应用程序中持有这个已经在内存中存在的对象。如果在脚本环境中使用,你传递对象给引擎后,脚本可以通过对象名在必要的是后获取对象。
可以通过EngineConfig或task得上下文环境为引擎提供对象。如下:

Java代码 复制代码
  1. MyObject mo = new MyObject( );   
  2. config = new EngineConfig( );   
  3. // Get the application context from the config or the task   
  4. HashMap hm = config.getAppContext( );   
  5. //HashMap hm = task.getAppContext( );   
  6. hm.put( "MyCreatedObject", mo );   
  7. config.setAppContext( hm );   
  8. // To refer to this object in a BIRT script   
  9. // or expression, use MyCreatedObject.myMethod()  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用LayUI的form模块来快速实现表单的构建,以下是一个简单的示例: ```html <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">报表名称</label> <div class="layui-input-inline"> <input type="text" name="reportName" required lay-verify="required" placeholder="请输入报表名称" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">报表组</label> <div class="layui-input-inline"> <select name="reportGroup" lay-verify="required"> <option value=""></option> <option value="1">报表组1</option> <option value="2">报表组2</option> <option value="3">报表组3</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">报表路径</label> <div class="layui-input-inline"> <input type="text" name="reportPath" required lay-verify="required" placeholder="请输入报表路径" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">报表抽样条件路径</label> <div class="layui-input-inline"> <input type="text" name="samplePath" required lay-verify="required" placeholder="请输入报表抽样条件路径" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">是否启用</label> <div class="layui-input-inline"> <input type="checkbox" name="enable" lay-skin="switch" lay-text="是|否"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> ``` 这个表单包含了报表名称、报表组、报表路径报表抽样条件路径、是否启用等几个字段。其中,报表组的下拉框使用了LayUI的select组件,其他字段均使用了input组件。 在代码中,我们使用了LayUI的form模块,并给表单添加了class="layui-form"属性。每个表单项都被包裹在一个layui-form-item类的div中,label标签表示表单项的名称,input或select标签表示表单项的输入框。其中,报表组的下拉框中使用了option标签来表示下拉框的选项。 最后,我们还添加了一个提交按钮和一个重置按钮,使用了LayUI的button组件。在提交按钮上,我们使用了lay-submit和lay-filter两个属性来声明表单的提交事件和对应的处理函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值