??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美另类激情,日韩欧美www,日韩一区二区三区精品视频第3页http://www.aygfsteel.com/gf7/category/43017.html<a target="_blank"><img src="http://union.keepc.com/templates/default/images/1/950X90.gif" alt="KC|络?sh)话Q中国最优秀的网l电(sh)? width="950" height="90" border="0"></a>zh-cnTue, 08 Dec 2009 09:37:50 GMTTue, 08 Dec 2009 09:37:50 GMT60BIRTQ基?Eclipse 的报?/title><link>http://www.aygfsteel.com/gf7/archive/2009/12/08/305184.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Tue, 08 Dec 2009 09:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/gf7/archive/2009/12/08/305184.html</guid><wfw:comment>http://www.aygfsteel.com/gf7/comments/305184.html</wfw:comment><comments>http://www.aygfsteel.com/gf7/archive/2009/12/08/305184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/gf7/comments/commentRss/305184.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/gf7/services/trackbacks/305184.html</trackback:ping><description><![CDATA[<p><a name="N10040"><span id="wmqeeuq" class="atitle">安装介绍</span></a></p> <p>对于扩展 Eclipse 的功能,首先当然是M载对应的 pluginQBIRT 也不能例外。BIRT 的下载地址Q?a cmimpressionsent="1">http://download.eclipse.org/birt/downloads/</a>Q当前版本是2.0。BIRT 依赖?Eclipse 的其它几?pluginQGEF ?EMFQ,׃我用的?Eclipse WTPQ这?Eclipse ?WEB 开发工P(j)Q在q个工具中那?plugin 都已预装Q因此直接下?birt-report-framework-2_0_0.zip 好?jin)。如果没有这?pluginQ请下蝲?/p> <p>下蝲之后Q安装非常简单:(x)只需解压然后对应的features和plugins目录中的内容复制到Eclipse对应的目录下卛_。且慢,q只是完成了(jin)对于BIRT的基本安装。下一步就是去下蝲BIRT需要的W三方Y件包Q?/p> <table class="data-table-1" cellspacing="0" cellpadding="0" width="650" border="1" sizset="35" sizcache="2"> <tbody sizset="35" sizcache="1"> <tr> <th> </th> <th>需要的jar文g</th> <th>复制位置Q都在plugins目录下)(j)</th> </tr> <tr> <th class="tb-row"><a cmimpressionsent="1">Apache Axis</a></th> <td>axis.jar<br /> axis-ant.jar<br /> commons-discovery-0.2.jar<br /> jaxrpc.jar<br /> saaj.jar<br /> wsdl4j-1.5.1.jar<br /> </td> <td>org.eclipse.birt.report.viewer_version/birt/WEB-INF/Lib</td> </tr> <tr> <th class="tb-row"><a cmimpressionsent="1">iText 1.3</a></th> <td>itext-1.3.jar</td> <td>org.eclipse.birt.report.engine.emitter.pdf_version/lib</td> </tr> <tr> <th class="tb-row"><a cmimpressionsent="1">prototype.js v1.4.0</a></th> <td>prototype.js v1.4.0</td> <td>org.eclipse.birt.report.viewer_version/birt/ajax/lib</td> </tr> </tbody> </table> <p>自此QBIRT的安装大功告成。启动EclipseQ在"project wizard"中会(x)出现一个BIRT的项目类型?/p> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="39" sizcache="2"> <tbody sizset="39" sizcache="1"> <tr> <td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right" sizset="40" sizcache="2"> <tbody sizset="41" sizcache="2"> <tr align="right" sizset="41" sizcache="2"> <td sizset="41" sizcache="2"><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br /> <table cellspacing="0" cellpadding="0" border="0" sizset="41" sizcache="2"> <tbody sizset="41" sizcache="1"> <tr> <td valign="middle"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br /> </td> <td valign="top" align="right"><a class="fbox" cmimpressionsent="1"><strong>回页?/strong></a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p><a name="N1009F"><span id="wmqeeuq" class="atitle">典型使用</span></a></p> <p>在用之前,?jin)解一些关于BIRT的基本概念,会(x)对用非常有益:(x)</p> <ul> <li>数据源:(x)数据的来源,或提供者。如xml数据源、jdbc数据源等? <li>数据集:(x)数据集合Q它必须与数据源兌Q可以理解ؓ(f)查询的结果? <li>报表以及(qing)报表,报表可视为是针对一l数据集的表现Ş式,而报表项q是q个表现形式的某个具体的单元。它们之间的关系Q与H体和控件的关系非常cM。报表、数据集、数据源三者间的关p:(x)数据?--- 数据?--- 报表? <li>报表参数Q查询参数的表现形式Q用它可以构徏更灵zȝ报表? <li>模板和库Q主要用于复用报表设计,提高报表开发的效率?</li> </ul> <p>本文中的例子都采用jdbc数据源,q是最常见的用情形,其中涉及(qing)的数据关pL一个典型的多对多关p:(x)</p> <br /> <img height="174" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image004.gif" width="383" border="0" /> <br /> <p><a name="N100CE"><span id="wmqeeuq" class="smalltitle">1. 单报?/span></a></p> <p>首先Q让我们来看看一?Hello World"U别的应用:(x)"列出所有用?Q以便可以快速的?jin)解BIRT。ؓ(f)?jin)完成这一dQ我们需要:(x)</p> <p>A. 通过目向导Q创建BIRT工程。工E创建完毕之后,昄BIRT?报表设计"视图。由于此时没有报表,其它几个视图Q如"数据资源理?Q不可用?/p> <br /> <img height="399" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image006.jpg" width="552" border="0" /> <br /> <p>B. 在项目上炚w标右键,选择Q?new -> 报表"。在报表cd中,选择"I白报表"?/p> <p>C. 创徏新报表后Q数据视囑֏用。在"数据资源理?中创建报表所需要的jdbc数据源。根据向|可以方便的添加jdbc驱动、数据库url、用户名和密码?/p> <p>D. 在指定的数据源上Q创建数据集Q这一步完成生数据集的查询。在BIRT中支?U数据集Q基于查询语句和Z存储q程。在本例中用前者,对应的查询语句是Q?code>select user.userid, user.username, user.addr from user</code>?/p> <p>E. 选择刚刚创徏的数据集Q将它拖至空白报表页上。BIRT?x)自动?f)其创Z个报表项Q此处是"?。如下图Q?/p> <br /> <img height="437" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image008.jpg" width="553" border="0" /> <br /> <p>F. 选择预览Q就可以看到报表q行的实际结果了(jin)。或在报表上点击鼠标右键Q选择Q?报表 -> q行报表"?/p> <p>非常单,一个显C所有用户信息的报表完成了(jin)。在此基之上Q让我们再来完成一些其它具有挑战性的dQ?/p> <p>1.格式化:(x)q是一个内容广泛的主题Q常见的需求:(x)</p> <table class="data-table-1" cellspacing="0" cellpadding="0" width="650" border="1" sizset="42" sizcache="2"> <tbody sizset="42" sizcache="1"> <tr> <th>需?/th> <th>解决办法Q以上ؓ(f)例)(j)</th> </tr> <tr> <th class="tb-row">昄报表列头Z?/th> <td>如:(x)userid昄?用户标识"?br /> 选择"userid"Q输?用户标识"?/td> </tr> <tr> <th class="tb-row">讄报表外观</th> <td>选择对应的报表项Q通过"属性编辑器"调整?/td> </tr> <tr> <th class="tb-row">对于报表数据列进行处?/th> <td>如:(x)userid和usernameQ显C成QuseridQusername。双击row["userid"]Q出?表达式生成器"Q输入:(x) <code>row["userid"]+"Q?+ row["username"]</code></td> </tr> <tr> <th class="tb-row">分页</th> <td>选择"?Q在"属性编辑器"中,选择"分页W?Q在"分页W间?中输入分大?/td> </tr> <tr> <th class="tb-row">늜和页?/th> <td>在报表设计页Q选择"主页"Q在其中讄늜和页脚?/td> </tr> </tbody> </table> <p>2.排序Q一U变通的做法是:(x)数据集排序之后Q如在对应的SQL语句中用order byQ再昄。除此之外,也可以在报表设计时来完成Q?/p> <p>A. 选择表,此时属性编辑器下方?x)出C表相关的选择c(din)?/p> <br /> <img height="34" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image010.jpg" width="351" border="0" /> <br /> <p>B. 选择"排序"Q在对应的页面中选择"d"按钮之后Q出玎ͼ(x)</p> <br /> <img height="88" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image012.jpg" width="554" border="0" /> <br /> <p>C. 选择需要进行排序的列,以及(qing)排序方式?/p> <p>3.计算列:(x)通过"数据集编辑器"来完成。进?数据集编辑器?Q选择"计算?Q输入对应的"列名U??数据cd"?表达??/p> <p>4.报表参数Q它为报表的产生带来?jin)极大的灉|性。报表参C定是与含参数的查询对应的Q否则失M(jin)意义。现在,以上需求改为列?用户标识大于某一输入的所有用?Q?/p> <p>A. ~辑数据集,修改SQLQ?code>select user.userid,user.username,user.addr from user where user.userid>?</code>?/p> <p>B. 在数据集~辑H体内选择"参数"Q然后输入对应的"名称"?数据cd"?方向"?默认?Q必ȝ出默认|(j)。其?方向"表示"输入"?输出"。对于参敎ͼ一般?输入"。完毕之后:(x)</p> <br /> <img height="92" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image014.jpg" width="554" border="0" /> <br /> <p>C. ?数据资源理?视图Q创建报表参敎ͼ(x)"用户标识"?/p> <p>D. 选择"?Q在"属性编辑器"中选择"l定"。此Ӟ?x)出现刚才在数据集中定义的参?id"。在"?列,选择报表参数"用户标识"Q?/p> <br /> <img height="86" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image016.jpg" width="553" border="0" /> <br /> <p>E. q行报表Ӟ此时?x)出现报表参数的输入框,填写值后卛_现报表结果?/p> <p>本例虽然只定义了(jin)一个报表参敎ͼ但是BIRTq没有这L(fng)限制。我们可以创建多个参敎ͼ做法很简单:(x)首先Q查询有多个参数Q定义数据集的参数时Q按照查询中参数出现的顺序定义;最后,d需要的报表参数?/p> <p>5.分组Q以上ؓ(f)例:(x)用h地址分组?/p> <p>A. 选择"?Q点击鼠标右键,选择"插入l?。这里有两个选择Q?在上??在下??/p> <p>B. 选择L一U,弹出分组资料H体。填写其中的Q?名称"?分组依据"。在本例中,"分组依据"是addr列?/p> <p>C. 选择预览Q或q行报表Q查看结果?/p> <p><a name="N101D3"><span id="wmqeeuq" class="smalltitle">2. 子报?/span></a></p> <p>子报表是另一U最常见的报表,以上ZQ列出所有用Pq列出每个用h购买的项目,以及(qing)目数。ؓ(f)?jin)完成这U父子关pȝ报表Q需要:(x)</p> <p>A. 创徏新报表和数据源?/p> <p>B. 创徏数据集userQ用SQLQselect user.userid,user.username,user.addr from user?/p> <p>C. 创徏数据集itemsQ用SQLQ?/p> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="48" sizcache="2"> <tbody sizset="48" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode">select item.itemid,item.itemdesc,item.price,user_item.count from item,user_item where item.itemid= user_item.itemid and user_item.userid= ? </pre> </td> </tr> </tbody> </table> <br /> <p>同时在数据集items上创建参数userQ它对应SQL中的参数?/p> <p>D. ?Palette"视图拖入"列表"到报表中Q在"属性编辑器"?l定"中Q选择数据集ؓ(f)user。它用来昄主表的信息,在本例中是用户信息?/p> <p>E. ?Palette"视图拖入"|格"?列表"?明细数据"中,讄|格??列,它用来存?用户姓名"?用户地址"。在"数据资源理?视图Q选择数据集userQ将username和addr分别拖入|格?列中?/p> <p>F. ?数据资源理?视图Q选择数据集itemsQ将它拖?列表"?明细数据"中,位于刚刚插入的网g斏V此ӞBIRT?x)生成数据集items对应???/p> <p>G. 选择刚刚生成??Q在"属性编辑器"?l定"中Q会(x)出现在items中定义的参数。修改它的|(x)row["userid"]。于是,父子报表发生了(jin)联系?/p> <p>H. 选择预览Q或q行报表Q就可以看到l果?jin)?/p> <p>很遗憾,到目前ؓ(f)止,另一U最常见的报?交叉?q不被BIRT支持。但是,BIRT的官方网站已明确表示Q将在未来的版本中支持它?/p> <p><a name="N10203"><span id="wmqeeuq" class="smalltitle">3. l计图表</span></a></p> <p>俗话_(d)"一N千言"。没有图的报表是枯燥Q且~Z表现力的。在本例中,我们用图表来表示Q每个用L(fng)消费L?/p> <p>A. 创徏新报表和数据源?/p> <p>B. 创徏数据集chartQ用SQLQ?/p> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="49" sizcache="2"> <tbody sizset="49" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode">select user.username,round(sum(item.price*user_item.count),2) from item, user_item, user where item.itemid= user_item.itemid and user.userid= user_item.userid group by user.username </pre> </td> </tr> </tbody> </table> <br /> <p>C. ?Palette"视图拖入"图表"到报表中Q此时会(x)弹出"~辑图表"H体?/p> <p>D. ?选择图表cd",选择图表cd?条Ş?。在"选择数据",使用数据集chartQ同旉中username列,其拖入"cdxpd"。对于统计列Q同样将其拖?cdypd"。在"图表格式",分别为x和ypdQ填写相应的昄名称?/p> <p>E. 选择预览Q或q行报表Q即可看到统计图表?/p> <p><a name="N10224"><span id="wmqeeuq" class="smalltitle">4. 使用脚本</span></a></p> <p>可以使用脚本Q是BIRT的一大特艌Ӏ在BIRT中,数据源、数据集和报表项Q都可以书写脚本。具体做法:(x)选择数据源、数据集和报表项L一U对象,然后选择"脚本"面。如选择数据源user后,对应的脚本输入页面:(x)</p> <br /> <img height="187" alt="" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-birt/images/image018.jpg" width="482" border="0" /> <br /> <p>选择对应的事Ӟ然后在下方的脚本输入框中输入脚本卛_。如对于W一个例子,我们需要统计用户地址?No.5 St."的用hQ?/p> <p>A. 选择数据集,然后选择"脚本"Q进入数据集的脚本编辑窗口?/p> <p>B. 选择事g"afterOpen"Q在脚本H口内输入:(x)count=0;</p> <p>C. 选择事g"onFetch"Q在脚本H口内输入:(x)if( row["addr"]== "No.5 St.") count++;</p> <p>D. 选择报表Q在脚本H口选择事g"onRender"Q输入:(x)this.caption=count;</p> <p>E. 预览Q或q行报表后,?x)在报表的标题输出count的数倹{?/p> <p>另外QBIRT也支持用java来作为报表项的事件处理程序。具体做法,请参见BIRT的帮助文档?/p> <p><a name="N10253"><span id="wmqeeuq" class="smalltitle">5. 库和模板</span></a></p> <p>除了(jin)脚本使开发者可以自定义报表的行为外QBIRTq提供了(jin)库和模板机制来重用设计,加快报表的开发。在TheServerSide上有一相当详l的文档Q?a cmimpressionsent="1">Using Eclipse BIRT Report Libraries and Templates</a>?/p> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="50" sizcache="2"> <tbody sizset="50" sizcache="1"> <tr> <td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right" sizset="51" sizcache="2"> <tbody sizset="52" sizcache="2"> <tr align="right" sizset="52" sizcache="2"> <td sizset="52" sizcache="2"><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br /> <table cellspacing="0" cellpadding="0" border="0" sizset="52" sizcache="2"> <tbody sizset="52" sizcache="1"> <tr> <td valign="middle"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br /> </td> <td valign="top" align="right"><a class="fbox" cmimpressionsent="1"><strong>回页?/strong></a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p><a name="N10260"><span id="wmqeeuq" class="atitle">应用集成</span></a></p> <p>BIRT与现有应用的集成非常单,׃BIRT主要是web应用Q本节以web应用Zq行说明?/p> <p>1. 从Eclipse BIRT官方|站下蝲birt-runtime-2_0_0.zip?/p> <p>2. 解压之后Q只需要其中的web view example目录下的内容?/p> <p>3. 复制以下W三方Y件包到web view example目录Q?/p> <table class="data-table-1" cellspacing="0" cellpadding="0" width="650" border="1" sizset="53" sizcache="2"> <tbody sizset="53" sizcache="1"> <tr> <th> </th> <th>需要的jar文g</th> <th>复制位置</th> </tr> <tr> <th class="tb-row"><a cmimpressionsent="1">Apache Axis</a></th> <td>axis.jar<br /> axis-ant.jar<br /> commons-discovery-0.2.jar<br /> jaxrpc.jar<br /> saaj.jar<br /> wsdl4j-1.5.1.jar<br /> </td> <td>WEB-INF/Lib</td> </tr> <tr> <th class="tb-row"><a cmimpressionsent="1">iText 1.3</a></th> <td>itext-1.3.jar</td> <td>Plugins/org.eclipse.birt.report.engine.emitter.pdf/lib</td> </tr> <tr> <th class="tb-row"><a cmimpressionsent="1">prototype.js v1.4.0</a></th> <td>prototype.js v1.4.0</td> <td>ajax/lib</td> </tr> </tbody> </table> <p>4. web view example目录发布到web容器中,如tomcatQ改名:(x)birtApp?/p> <p>5. 启动tomcatQƈ讉KbirtApp。在首页中选择"View Example"Q如果成功发布,pȝ提C成功?/p> <p>6. 发布设计完成的报表文Ӟ在birtApp中创建reports目录Q用于存放报表设计文件?/p> <p>7. 在应用中通过Qhttp://localhost:8080/birtApp/frameset?__report=报表文g路径Q就可以讉K报表?jin)?/p> <p>q个web应用支持2个动作:(x)</p> <ul> <li>framesetQ以frameset的Ş式显C报表。这个界面包含一些frameQ如面DQ报表主体在其中的一个frame中显C;使用形式Q?br /> http://localhost:8080/birtApp/frameset?__report=报表文g路径&参数=........ <li>runQ报表以一个单独的html面或pdf昄Q由于这UŞ式没有frmaesetQ因此用者必自己提供相应的参数Q如报表参数Q页L(fng)。用Ş式:(x)<br /> http://localhost:8080/birtApp/run?__report=报表文g路径&参数=........ </li> </ul> <p>对于以上2个动作,以下列出可用的参敎ͼ(x)</p> <table class="data-table-1" cellspacing="0" cellpadding="0" width="650" border="1" sizset="57" sizcache="2"> <tbody sizset="57" sizcache="1"> <tr> <th>选项</th> <th>说明</th> </tr> <tr> <th class="tb-row">__format</th> <td>报表输出格式Qhtml或pdfQ缺省是html。对于frameset不v作用?/td> </tr> <tr> <th class="tb-row">__isnull</th> <td>指明一个参数是nullQ常用于字符串类型。如果提供参Cgؓ(f)I:(x) - 对于日期和数字类型,BIRT?x)将它们当作null处理?- 对于字符ԌBIRT?x)将它作为空字符丌Ӏ因此,Z(jin)说明某个字符串是nullQ通常写ؓ(f)Q__isnull=参数?/td> </tr> <tr> <th class="tb-row">__locale</th> <td>本地化选项Q缺省是jvm的locale?/td> </tr> <tr> <th class="tb-row">__report</th> <td>报表设计文g路径?/td> </tr> <tr> <th class="tb-row">报表参数</th> <td>报表参数参数值对QŞ式:(x)参数?参数倹{对于framesetQ直接在地址栏中输入参数?参数值后回RQ不?x)?jing)响报表结果。虽?dng)此时选择"q行报表"Ӟ弹出的参数值已l改变?/td> </tr> </tbody> </table> <p>虽然本节所说的是针对web应用的集成,但是q种Ҏ(gu)同样也可与非web应用集成。此Ӟ我们可以采取一U变通的Ҏ(gu)Q在非web应用中用内嵌的web容器Q如jettyQ也可达到同L(fng)效果。这U做法和Eclipse的做法类伹{还记得在报表设计时使用"报表 -> q行报表"吗?那个弹出的窗体,实际是一个web面?/p> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="63" sizcache="2"> <tbody sizset="63" sizcache="1"> <tr> <td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right" sizset="64" sizcache="2"> <tbody sizset="65" sizcache="2"> <tr align="right" sizset="65" sizcache="2"> <td sizset="65" sizcache="2"><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br /> <table cellspacing="0" cellpadding="0" border="0" sizset="65" sizcache="2"> <tbody sizset="65" sizcache="1"> <tr> <td valign="middle"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br /> </td> <td valign="top" align="right"><a class="fbox" cmimpressionsent="1"><strong>回页?/strong></a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p><a name="N10323"><span id="wmqeeuq" class="atitle">l论</span></a></p> <p>与一些老牌报表软g相比QBIRT可能仍显E嫩。然而,它也不乏其独C处,如脚本控制、库和模ѝ加之有世界领先的报表厂商Actuate支持Q实际上BIRT的ROMQReport Object ModelQ就是Actuate捐献的,我们有充分的理由对BIRT的前景表CZ观?/p> <br /> <br /> <p><a name="resources"><span id="wmqeeuq" class="atitle">参考资?</span></a></p> <ul> <li>BIRT官方|站 <a cmimpressionsent="1">http://www.eclipse.org/birt/phoenix/</a><br /> <br /> <li>BIRT and POJOs as datasources example <a cmimpressionsent="1">http://tools.osmosis.gr/blog/archives/2005/06/birt_and_object.html</a><br /> <br /> <li>Using Eclipse BIRT Report Libraries and Templates <a cmimpressionsent="1">http://www.theserverside.com/articles/article.tss?l=EclipseBRT</a><br /> </li> </ul> <img src ="http://www.aygfsteel.com/gf7/aggbug/305184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/gf7/" target="_blank">?/a> 2009-12-08 17:09 <a href="http://www.aygfsteel.com/gf7/archive/2009/12/08/305184.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">۲</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⳵</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">޳</a>| <a href="http://" target="_blank">˷</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ͻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³</a>| <a href="http://" target="_blank">ٳ</a>| <a href="http://" target="_blank">J</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ͽ</a>| <a href="http://" target="_blank">ֶ</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ȫ</a>| <a href="http://" target="_blank">־</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ػ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>