JPivot是Mondrian的表现层TagLib,一直保持着良好的开发进度。
已经好久没有用了,趁彻底忘记以前,把小小的心得记下来。
1.汉化
1.1 查找所有resources.properties文件,汉化为resources_zh.properties文件
1.2 native2ascii resources_zh.properties resources_zh.properties
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,用户发出 testPage.jsp?query=modrain的请求
2,testPage.jsp上的<wcf:include>根据query参数,匹配/WEB-INF/query/下的modrain.jsp来获取数据
3,modrain.jsp上的<jp:mondrianQuery id="query01">查询数据,放入到query01变量中
4,testPage.jsp上的<jp:table id="table01" query="#{query01}"/>根据query01的结果(领域数据) 准备显示OLAP表格所需的数据(显示数据)
5,testPage.jsp上的<wcf:render ref="table01" xslUri="/WEB-INF/jpivot/table/mdxtable.xsl"/>根据table01的结果,使用xsl,渲染出OLAP表格。
6,循环第4,5步,使用<jp:navigator>等tag准备navigator,chart的数据然后用<wcf>渲染出图表和导航系统.
整个流程,第2步的testPage充当Controller调用第3步的Model层,然后第4,5步 执行Martin Flower讲的Transform Engine两步渲染模式----先从领域数据(比如一些java bean)中转换出格式整齐的,需要显示的数据(比如一段xml),再用xsl将其渲染为最终的表现形式。
相关文章:
穷人的通用OLAP方案I--序
穷人的通用OLAP方案I I--Mondrian引擎
穷人的通用OLAP方案III--JPivot表现层
分享到:
相关推荐
olap4j-0.9.7.309-JS-3.jar maven中央仓库下载不到 下载之后再maven的bin目录下使用mvn命令:mvn install:install-file -Dfile=F:\apache-maven-3.5.3\mylib\olap4j-0.9.7.309-JS-3.jar -DgroupId=org.olap4j -...
olap4j-0.9.7.309-JS-3,olap4j-0.9.7.309-JS-3,olap4j-0.9.7.309-JS-3,olap4j-0.9.7.309-JS-3,olap4j-0.9.7.309-JS-3,olap4j-0.9.7.309-JS-3,olap4j-0.9.7.309-JS-3下载olap4j-0.9.7.309-JS-3,olap4j-0.9.7....
olap,jpivot-1.8.0.zip ,很好的东西。
olap4j-0.9.7.309-JS-3
maven不支持的下载的jar,下载后本地执行mvn install:install-file -Dfile=D:\softwares\常用工具软件\自定义报表工具\olap4j-0.9.7.309-JS-3\mylib\olap4j-0.9.7.309-JS-3.jar -DgroupId=org.olap4j -DartifactId=...
下载之后再maven的bin目录下使用mvn命令:mvn install:install-file -Dfile=F:\apache-maven-3.5.3\mylib\olap4j-0.9.7.309-JS-3.jar -DgroupId=org.olap4j -DartifactId=olap4j-0.9.7.309-JS-3 -Dversion=0.9.7.309...
JAVA olap4j-xmla-1.1.0.jar
olap4j-0.9.7.309-JS-3.jar及其pom坐标 1. olap4j-0.9.7.309-JS-3.jar 2. olap4j-0.9.7.309-JS-3.pom
olap4j-0.9.7.309-JS-3.jar及其pom坐标 1. olap4j-0.9.7.309-JS-3.jar 2. olap4j-0.9.7.309-JS-3.pom 使用mvn编译是如果遇到无法下载的jar包,可以使用命令本地安装到仓库 mvn install:install-file -Dfile=xxx\olap...
olap4j-0.9.7.309-JS-3.jar及其pom坐标,花了5个币下载了,2个贡献出来了~网上巨难找
olap4j-tck-1.1.0.jar
当项目中加载这个jasperreports-chart-themes-5.2.0.jar包时,会默认加载olap4j-0.9.7.309-JS-3.jar包,maven中央库中没有些包,只需下载些包,执行mvn install:install-file -Dfile=D:\olap4j-0.9.7.309-JS-3.jar -...
olap4j-0.9.7.309-JS-3.jar
项目中遇到一个项目, net.sf.jasperreports:jasperreports:6.0.0 依懒包olap4j-0.9.7.309-JS-3加载失败, 仓库已经没有这个版本, 网上找了很久
olap4j-0.9.7.145.jar
maven不支持的下载的jar,下载后本地执行mvn install:install-file -Dfile=D:\softwares\常用工具软件\自定义报表工具\olap4j-0.9.7.309-JS-3\mylib\olap4j-0.9.7.309-JS-3.jar -DgroupId=org.olap4j -DartifactId=...
jasperreports mvn依赖包olap4j-0.9.7.309-JS-3,编译后缺少依赖包olap4j-0.9.7.309-JS-3。
saiku-olap-util-3.17源代码,大家不用再自己搞了。saiku-olap-util-3.17源代码
olap4j-xmla-1.1.0.jar