[转]BIRT Frameset 汉化

正文:

    1:frameset 是什么?(提供了什么,有什么特点,为什么我要用它?)

    2:怎样为我所用(如何汉化,重新打包viewservlet.jar部署)

   (一)frameset 是什么?(WFW: What, Feature and Why?)

        相信接触过BIRT的人对frameset都有了解,第一次接触肯定会对其工具栏,分页显示及进度条效果印象深刻。可是其默认显示是英文的,对于中文的应 用来说,似乎有种“可远观而不可亵玩”的味道。我之前的工作中,也一直对BIRT默认提供的东西敬而远之。之前的工作中,一直是采用自己写的页面去调用报 表,仅仅是用BIRT的runtime包生成定制文件(html、excel)而已。最近刚用BIRT 3.7搭建了一套报表展现方案,回首过去的做法,感觉自己做了很多无用功(重复造轮子)。经历了5年多的发展,birt累计了不少优秀的东西。其提供的几 个servlet(preview、run、frameset)一直很强大,阔别一些时日后,这种感觉更加深刻。今天就本人对frameset汉化的事 情,做个总结,希望和大家一起分享,进步。        

        1.1 什么是frameset?

        Birt的runtime 3.7包中提供了多个servelet(preview、frameset、run等),下面主要对frameset说一下(至于其他的servlet详细解释,可以参考: BIRT servlet详细解释
        frameset: 

                 采用Ajax框架,可以显示工具条,导航条和TOC面板,实现复杂的操作,

                 如分页处理,导出数据,导出报表,打印等。

                 该模式下会自动生成report document文件(预览report design文件)到特定的目录

                 (用户可以用参数指定,也可以定义在web.xml里)。采用Ajax,速度较慢。

 

        1.2 frameset特点
        在此就不多说frameset的特点了,截个图你自己体会吧。
            1.2.1:提供报表展示用工具条(导出、打印、分页等)

        

         1.2.2:frameset展示页面开源,后期拓展、自定义修改容易
    也许有人会说:其默认的frameset功能不错,但是其界面样式、风格等与公司产品风格不协调,希望对其自定义改造。
          
    对于这个问题,开源又一次展现了其魅力。我们完全可以直接去修改webcontent中的内容,按照自己的想法,去修改CSS等。
    如下以工具栏按钮为例(ToolbarFragment.jsp),看里头的页面还是写得很清晰的。

          

                              JSP代码片段:

[html] view plain copy
  1.       < TD   WIDTH = "15px" >   
  2.         < INPUT   TYPE = "image"   NAME = 'toc'   SRC = "birt/images/Toc.gif"   
  3.           TITLE =" < %= BirtResources.getHtmlMessage( " birt .viewer.toolbar.toc" )% > "  
  4.           ALT =" < %= BirtResources.getHtmlMessage( " birt .viewer.toolbar.toc" )% >CLASS = "birtviewer_clickable" >   
  5.      </ TD >                

  1.3 为什么要使用frameset?
    在此我也不过多地废话了,根据你自己的情况看着办吧。我的理由很简单,既然别人帮我们做了,而且还不赖,干嘛不拿来用呢,呵呵。

 (二)frameset汉化
    相信你已经对frameset有了一定好感,可能已经开始动手去改造frameset了。 “请先等下,不要重复造轮子!”,BIRT在设计的时候已经考虑了国际化的问题,eclipse官网上得汉化包能很快速地帮助我们解决BIRT汉化的问 题。下文将详细说明frameset的汉化。
    汉化的过程也很方便,大体来说:先到官网下载相应的汉化包,替换viewServlet.jar 包中得messages.properties文件;重新打包viewServlet.jar包即可。

   2.1 下载汉化包

    汉化的过程很简单,先到官网下载相应的汉化包, http://download.eclipse.org/birt/downloads/lang.php?build=R-R1-2_2_2-200802271210

                           我实际操作过程中发现3.7下对应的语言包下载完后没有messages_zh.properties文件,在2.5版本的链接中是有的,所以推荐到2.5中去下。
   2.2 替换viewservlets.jar 部署
   2.2.1 找到刚才安装的汉化插件包,进入plugins目录找到一个名为 “org.eclipse.birt.report.viewer.nl_zh_*.jar(*代表版本号)的jar包,然后解压,在/org /eclipse/birt/report/resource目录下面会得到一个Messages_zh.properties文件,这个文件就是能够实 现汉化的文件啦。

   2.2.2 找到birt运行库目录,即默认的birt-runtime-*目录,然后去/WebViewerExample/WEB-INF/lib下找到名为 “viewservlets.jar”的jar包,使用压缩工具打开(不用解压),进入/org/eclipse/birt/report /resource目录,这里会发现一个Messages.properties文件,这个就是birt本身带的语言包配置文件啦。

   2.2.3 将在第一步里得到的“Messages_zh.properties”重命名为“Messages.properties”,然后使用压缩工具的“添加” 按钮将此文件添加到“viewservlets.jar”文件中(需要点击“覆盖”),这一步的目的就是将英文的配置文件替换为中文的配置。

  2.2.4 将修改后的viewservlets.jar文件添加到工程,或者覆盖原来的viewservlets.jar文件,即可实现birt在客户端的汉化。

结语:

     在替换完viewservlet.jar 之后,直接替换原有lib包里的同名jar,就可以正常显示中文版的frameset了。

     在最后把自己替换后的viewservlet.jar 也放到CSDN上了,需要的自己去下吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值