



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
jpivot是目前用得最多得OLAP展现工具,pentaho,spagoBI,openi等都是用他来做展现,jpivot中pdf打印输出中文1.升级com.tonbeller.jpivot.print.PrintServlet文件到JPivot1.6.0以上,如果不想升级就修改PrintServlet在init方法中增加以下语句.java 代码1. publicvoidinit(ServletConfigconfig)throwsServletException 2. super.init(config); 3. try 4. /setbaseFOPFONTdirectory.Thefontconfigstuffwillbelookedforhere 5. Configuration.put(fontBaseDir,config.getServletContext().getRealPath(/WEB-INF/jpivot/print/); 6. /getthephysicalpathfortheconfigfile 7. StringfopConfigPath=config.getServletContext().getRealPath(/WEB-INF/jpivot/print/userconfig.xml); 8. /loadtheuserproerties,continingtheCustomFontfont. 9. newOptions(newFile(fopConfigPath); 10. 11. catch(FOPExceptione) 12. e.printStackTrace(); 13. (FOPuserconfigfilenotloaded); 14. catch(Exceptione) 15. e.printStackTrace(); 16. (FOPuserconfigfilenotloaded); 17. 18. 19. 2在WEB-INFjpivotprint目录下建立userconfig.xml文件。内容如下:(仅配置黑体)xml 代码1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. font 16. 17. fonts 18. 19. configuration 20. 3 下载Apache的FOP包,解开fop-0.20.5.jar,启用cmd,并到它的目录中,执行:java org.apache.fop.fonts.apps.TTFReader -ttcname SimHei C:WINDOWSFontssimhei.ttf simhei.xml然后就会生成需要的两个字体描述文件:simhei.xml4 将simhei.xml,以及simhei.ttf文件放到WEB-INFjpivotprint目录下。5 修改WEB-INFjpivottable目录下的fo_mdxtable.xsl文件,把所有的font-family对应成SimHeijpivot excel导出中文 Excel中不支持UTF-8, Excel输出对应的xsl文件是:./web-inf/jpivot/table目录下的xls_mdxtable.xsl只要这个文件的encoding换为GBK就可以了.mondrian是一个olap工具,jpviot是一个显示它处理结果的taglib,使用这2个工具可以做复杂的统计汇总并显示 OLAP:Mondrian&JPviotolap:online analytical processing(联机分析处理),实时的分析大量数据,其操作通常是 只读的.online意味着即使是大量的数据,系统对查询的响应也要足够快. olap使用一种技术叫做multimensional analysis(多维分析),关系数据库将数据存成行和列的形式,多维数据表包含轴和单元.mondrian包含4层:表示层,计算层,聚集层,存储层.表示层:指最终呈现在用户显示器上的,以及与用户之间的交互,有许多方法来展现多维数据,包括数据透视表,饼,柱,线状图.计算层:分析,验证,执行MDX查询.聚集层:一个聚集指内存中一组计算值(cell),这些值通过维列来限制.计算层发送单元请求,如果请求不在缓存中,或者不能通过旋转聚集导出的话,聚集层向存储层发送请求.聚合层是一个数据缓冲层,从数据库来的单元数据,聚合后提供给计算层。聚合层的主要作用是提高系统的性能。存储层:提供聚集单元数据和维表的成员,这些层可以不在同一机子上,但是计算和聚集层必须在同一台机子上.三种需要存储的数据:1:事实数据2:聚集3:维配置文件中的特定含义:1:cube(立方体):是维和量的集合2:measure(量):一个具体的测量量3:dimension(维):一个属性或者一系列属性,通过维可以将量分类下面是我关于jpviot的修改:jpviot是显示mondrian的一个taglib问题1:让行和列的标题显示为中文,此问题非常简单,只需要在你的schema中设置一下编码即可,例如在FoodMart中设置如下然后可以这样描述Measure:所有带name属性的都可以替换成中文,jpviot会自动显示这些中文.问题2:关于去掉Measure标题的问题:默认生成的报表中会有这么一行 Measures这一行有个默认的标题是Measure,如果你不想删除这一行,而仅仅想修改这个标题的话,可以修改WEB-INFperties.但是注意这个文件中内容写成英文没问题,如写成中文的话应该写成unicode,例如023这样的形式.如果你要去掉这一行的话,修改配置文件和xsl恐怕做不到,我分析了其代码,最终在代码层次上做了修改:修改的代码为com.tonbeller.jpivot.table.ColumnAxisBuilderImpl:将其构造函数中的setHierarchyHeader的参数修改为setHierarchyHeader(NO_HEADER);这个函数支持3个参数,我们修改后就不会显示那个标题行了.问题3:生成图表后自动生成chart表的问题:我测试生成图表中的中文问题都解决了,但是每次生成chart图时会报UTF编码错误,从错误判断应该是某个文件的编码错误,起初根据错误判断是filter的问题,可是filter那点代码中根本不涉及编码的问题.我将很多配置文件的编码都改了也不行.因为那个英文例子没问题,我查看了JFreechart的一个servlet(org.jfree.chart.servlet.DisplayChart),因为jpviot就是调用这个servlet实现绘图的,分析这个servlet我知道它会在一个临时目录生成png文件,然后交给servlet写到浏览器的响应中去,我找到那个临时目录(tomcattemp),发现里面已经生成了正确的中文图形.从而判断图形生成正确,但是写到浏览器中时出了问题.最后我查看能生成英文图表的那个例子,发觉不仅仅在html中生成图形,而且生成map.而这个map的生成全是在程序中做的,程序生成一个xml文件,通过chart.xsl解析生成map的最终html代码.但是在程序中生成时并没有加入编码设置,因此问题出在生成map这儿.最终修改代码如下:com.tonbeller.jpivot.chart.ChartComponent:在render函数中修改如下:String desc=;String xchart =desc+n+ + writeImageMap(filename, info, false) + ;这样就为xchart设置了编码.问题4:修改jfreechart中的默认字体:com.tonbeller.jpivot.chart.ChartComponent中定义了几种字体,但是这几种字体都是英文字体,我将其修改为宋体:把所有的字体定义都改为SimSun注意到这儿并没有玩,如果你仅仅修改程序,仍旧会出现问题,报错说没有适合SimSun的item同时要修改一个配置文件:WEB-INFjpivotchartchartpropertiesform.xml在这个配置文件中将SimSun加入其中,形式如下:以上为我最近的一点心得,我会完善这篇文档,将包含mondrian中schema的书写方法和MDX查询语言,欢迎大家交流JPivot是Mondrian的表现层TagLib,一直保持着良好的开发进度。 已经好久没有用了,趁彻底忘记以前,把小小的心得记下来。 1.汉化 1.1 查找所有perties文件,汉化为resources_perties文件 1.2 native2ascii resources_perties resources_perties 1.3 查找WEB-INF/jpivot下的所有xml文件,汉化为xxx_zh.xml 2.架构 JPivot的架构看似另类,但其实都是精明的选择。 2.1 使用XML/ XSLT渲染OLAP报表 JPivot使用 WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。这使它显得十分另类。不过,OLAP报表这种非常复杂但又有规律可循的东西,最适合使用XSLT来渲染。虽然程序员和编辑器都很不喜欢这种Martin Flower口中有点LISP形式的语言,但Transform Engine这时候的确能比Template Engine(Velocity,Freemarker)更高效的处理OLAP报表及其导航系统的显示。 2.2完全基于JSP+TagLib JPivot另外一个可能使人不惯的地方是它完全基于taglib而不是大家熟悉的MVC模式。但如果不基于tabLib,基于任何MVC框架都会使其失去通用性,担不起Mondrain唯一表现层的重任,而且,MVC其实不一定需要那些框架(后述) 2.3 典型的流程及模式:打开JPivot自带的sample,查看index.jsp文件,典型的流程如下: 1,用户发出 te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司计划与统计管理制度
- 公司财务印鉴章管理制度
- 公司货车出门证管理制度
- 公司车辆智能化管理制度
- 关于公司员工车辆充电管理制度
- 军人运动会安全管理制度
- 出租车公司规范管理制度
- 分公司审批权限管理制度
- 分公司钉钉打卡管理制度
- 创业小型加工厂管理制度
- 大足县某水库除险加固工程施工组织设计
- 基于单片机数字电压表电路设计外文文献原稿和译文
- JJG 1149-2022电动汽车非车载充电机(试行)
- 2023版浙江评审卫生高级专业技术资格医学卫生刊物名录
- GB/T 1689-1998硫化橡胶耐磨性能的测定(用阿克隆磨耗机)
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- 江苏省金陵中学2023学年物理高一下期末调研试题(含答案解析)
- 2023年合肥城建发展股份有限公司校园招聘笔试模拟试题及答案解析
- DB11-T1834-2021 城市道路工程施工技术规程高清最新版
- 广东省珠海市2022-2023高一物理下学期期末学业质量检测试题
- 小学语文扩句、缩句专题
评论
0/150
提交评论