`
jacky6024
  • 浏览: 81161 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JPivot标签库使用详解

阅读更多

Introduce

JPivot 是一套基于 Mondrian OLAP 前端展现工具,它提供了一套标签库来解决的 OLAP 的展现层问题。

在一个 JSP 页面当中,如果要使用 JPivot 标签库,除了要配置相关的配置文件外,我们需要在 JSP 头的位置声明对 JPivot 标签库的引用,引用方法如下:

<%@ taglib uri = "http://www.tonbeller.com/jpivot" prefix = "jp" %>

JPivot 标签库包含以下几个标签:

l         chart

l         chooseQuery

l         clickable

l         destroyQuery

l         mondrianQuery

l         navitator

l         print

l         scalarQuery

l         setParam

l         table

l         testQuery

l         xmlaQuery

接下来我们将详细介绍这些标签的具体用法及相关参数的含义。

chart

创建一个图表组件,这个图表组件的标签不能直接产生可见输出,它必须通过 WCF 的渲染标签才行。 chart 标签的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

id

String

标签的 ID

visible

boolean

用来设置该组件是否可见,当该属性为 false WCF 标签半角不显示该组件。

role

String

Role 的名称,如: role=”tomcat” 就允许当前用户角色为 tomcat 的访问该控件, role=”!tomcat” 则就允许除角色为 tomcat 以外的所有的用户访问。

query

OlapModel

一个 mondrianQuery 标签的 ID

baseDisplayURL

String

显示图表的链接,链接的后面还要添加参数“ ?=filename=[ 临时图表文件的名称 ]

controllerURL

String

链接到 JPivot Controller URL ,该属性在一些复杂环境下比如 Portal 之类就很有用。

chooseQuery

从前面创建的若干个查询当中选择一个合适的查询(通过查询名称进行选择),例如:

<jp:mondrianQuery id="query01" queryName="name1">

   SELECT ...

</jp:mondrianQuery>

<jp:mondrianQuery id="query01" queryName="name2">

   SELECT ...

</jp:mondrianQuery>

...

<jp:chooseQuery id="query01" queryName="name1"/>

它的属性比较简单,只有 id queryName 两个,而且比较容易理解。

clickable

该标签的作用是给一个 dimension 或一个 level 里的所有的 members 加上超链,使得它们变的可以进行点击操作。生成的 URL 中包含这个 member 的唯一名称,这个标签必须要在一个 table 或一个 query 的标签里嵌套使用。

这个动作还依赖于该标签的 sessionParam 属性,如果该属性存在,那么参数值将在页面显示之前写到 com.tonbeller.jpivot.param.SessionParamPool 当中,如果不存在该属性,参数将会被编码到超链接当中。

例如:

<jp:mondrianQuery ...>


  select .. from Sales

  <jp:clickable urlPattern="/otherpage.jsp?param={0}" uniqueName="[Customers]"/>

  <jp:clickable page="/yetotherpage.jsp" uniqueName="[Products].[Category]" sessionParam="Category"/>

</jp:mondrianQuery>

该标签的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

urlPattern

String

该属性已过时,使用 page 属性替代它。

page

String

目标页面的名称,该属性的值必须要以“ / ”开始,如果不设置,那么会采用当前页面的名称。

uniqueName

String

一个 dimension hierarchy level 的唯一名称,用来标识哪个 member 将可以点击。

menuLabel

String

如果多次定义 clickable ,那么它将通过一个右键来进行显示,这里的值就是右键菜单的名称。

sessionParam

String

参数名称,它将会被回写到 com.tonbeller.jpivot.param.SessionParamPool 当中。

propertyName

String

该属性如果存在,该 member 属性的值将会被带到 com.tonbeller.jpivot.param.Parameter sqlValue 的属性当中。

propertyPrefix

String

如果存在该属性,多个 SessionParam 将会被创建,每一个 member 的名字的开始部分将采用该属性的值。

providerClass

String

如果存在该属性,这个类的实例将会从当前的 member 中获取 SessionParam 对象的实例,这里的类必须实现 com.tonbeller.jpivot.table.navi.ClickableMember.ParameterProvider 接口。

destroyQuery

该标签的主要作用是销毁所有的查询,它的用法如下:

<jp:destroyQuery id="query01"/>

它只有一个 ID 属性。

mondrianQuery

该标签的主要作用是让 mondrian 执行指定的查询,该标签需要指定一个 JDBC datasource 或单独指定 JDBC 连接的各个属性从而可以让 mondrian 连接到指定的数据库。

它的用法如下:

<jp:mondrianQuery id="query01"

  jdbcDriver="com.mysql.jdbc.Driver"
  jdbcUrl="jdbc:mysql://localhost/foodmart"

  catalogUri="/WEB-INF/test/FoodMart.xml">
select

  {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]} on columns,

  {[Product].[All Products]} ON rows

from Sales
where ([Time].[1997])

</jp:mondrianQuery>


它的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

id

String

标签的 ID

jdbcDriver

String

要连接到目标数据库的驱动类名

jdbcUrl

String

目标数据库的 URL

jdbcUser

String

登录数据库的用户名

jdbcPassword

String

登录数据库的密码

dataSource

String

可以连接到数据库的 JNDI 名称,如 jdbc/SampleDB ,当使用它时另外四个单独连接数据库的属性不可以再用。

catalogUri

String

Mondrian Schema 文件所在的路径,指定路径时需要从 web 应用的根开始,如 /WEB-INF/FoodMart.xml

role

String

指定角色,该角色的值来自 Mondrian Schema 里定义的角色。

dynResolver

String

指定一个用来解析 Mondrian Schema 里定义的动态变量的解析类。

connectionPooling

String

当该值为 false 时,将从连接池里阻止 Mondrian

dynLocale

String

设置动态解析 Mondrian Schema 里的 Local

dataSourceChangeListener

String

指定一个类用来检测 datasource 的变化。

queryName

String

这个属性允许保留多个查询,对于每一个查询,最后一个查询将会被存储下来,可以使用 chooseQuery 标签在查询间进行切换。

stackMode

boolean

如果设置为 false ,那么所有的查询将同时被处理;如果设置为 true ,那么将保持其原有的顺序,例如:

查询名称为 qn1 的创建后,标签就马上将其显示出来 ; 接下来创建 qn2 ,现在 stack 里有 qn1 qn2 qn2 也将被显示出来。

navigator

创建一个导航组件,这个组件不会直接输出,它必须通过 WCF 的标签来 render 输出。

示例用法:

<jp:navigator id="navi01" query="#{query01}" visible="false"/>

<wcf:render ref="navi01" xslUri="/WEB-INF/jpivot/navi/navigator.xsl" xslCache="true"/>

该标签的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

id

String

标签的 ID

query

OlapModel

指定一个 mondrianQuery 标签的名称

visible

boolean

设置该组件是否可见,如果设置为 false 那么 WCF render 标签将不会 render 该组件。

role

String

角色的名称,可以加前缀“!”,表示“除 角色之外”都可以访问该组件,否则就是只有该角色才能访问该组件。

print

创建一个打印控件,该控件不能直接输出,你必须创建 WCF form 来调用打印的 servlet 来生成 XLS/PDF 文件。

该标签只有一个 ID 属性。

scalarQuery

创建一个包含由单个单元格的组成的 OLAP 结果的会话属性,它的值由标签的属性提供。

示例用法:

<jp:scalarQuery

  id="query01"

  value="#{some.bean.property}">

  formattedValue="#{some.bean.otherProperty}"

  caption="Some Caption" />

它的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

id

String

标签的 ID

value

String

是一个 EL 的表达式,通过 EL 表达式来计算值,这里是一个数字。

formattedValue

String

用一个 EL 表达式来计算格式化后的值,是一个字符串

caption

String

用一个 EL 表达式来生成 caption 的值,这里是一个字符串

queryName

String

请参考 mondrianQuery 标签

stackMode

boolean

请参考 mondrianQuery 标签

selectProperties

创建一个选择属性的组件,该组件不会直接输出,必须要与 WCF render 标签结合。

示例用法:

<jp:selectproperties id="selectprop01" table="#{table01}" visible="false"/>

<wcf:render ref="selectprop01" xslUri="/WEB-INF/jpivot/navi/navigator.xsl" xslCache="true"/>

它的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

id

String

标签的 ID

table

TableComponent

该属性用来指定一个表格组件。

visible

boolean

设置该组件是否可见,如果设置为 false 那么 WCF 组件将不会显示该组件。

role

String

指定角色,同样可以使用“!”

setParam

通过 get post session 里的值为 MDX 查询设置查询参数。示例用法:

<jp:mondrianQuery id="query01"...>

  SELECT ... Parameter("Param01", ...
  WHERE ...
</jp:mondrianQuery/>
<jp:setParam query="query01" httpParam="param" mdxParam="Param01"/>

or

<jp:setParam query="query01" sessionParam="CUSTOMER" mdxParam="Param01"/>

它的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

query

OlapModel

指定一个 mondrianQuery 标签的名称

httpParam

String

http 参数的名称,如果存在该属性,那么它的值将会被告解析并设置到 mdx 查询的 parameter 当中

sessionParam

String

Session 的参数名称

mdxParam

String

MDX parameter 的名称

table

创建一个 pivot 的表格组件,该组件要借助于 WCF render 标签输出。

示例用法:

<jp:table id="table01" query="#{query01}" visible="true"/>

该标签的主要属性如下:

属性名

必须

数据类型

是否能动态计算指定

描述

id

String

标签的 ID

visible

boolean

设置组件是否可见,如果为 false 那么 WCF 的标签将不会将其 render

role

String

可访问该组件的角度,支持“!”用法

query

OlapModel

指定一个 mondrianQuery 标签的名称

 
分享到:
评论
1 楼 crabboy 2009-07-12  
看上去很美。

相关推荐

    JPivot标签使用详解 中文

    【JPivot标签库详解】 JPivot是一款基于Mondrian的在线分析处理(OLAP)前端展示工具,专门解决OLAP的展示层问题。它提供了一系列的JSP标签,使得开发者能够在网页中方便地构建和控制OLAP应用。下面将详细阐述各个...

    jpivot学习总结.doc

    4. JPivot标签库使用详解 4.1. Introduce JPivot 是一套基于 Mondrian 的 OLAP 前端展现工具,它提供了一套标签库来解决的 OLAP 的展现层问题。 在一个 JSP 页面当中,如果要使用 JPivot 标签库,除了要配置相关的...

    JPivot+Mondrian资料收集汇总(2)

    **1、JPivot标签使用详解** 这部分内容可能详细介绍了JPivot的各种组件和标签,包括表格、图表、下拉列表、过滤器等,这些都是构建交互式报表的关键元素。开发者可能会学习到如何配置和自定义这些标签,以适应特定的...

    MDX动态参数的跳转_Jpivot的clickable标签的使用

    在本主题中,我们将深入探讨如何在Jpivot这个开源工具中使用MDX动态参数进行跳转,并利用其`clickable`标签来实现交互式功能。 Jpivot是一个基于Java的开源库,它提供了灵活的数据透视表和图表功能,支持用户通过...

    jpivot-1.8.0

    JPivot是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP导航,如下钻,切片和方块。它使用Mondrian 作为其OLAP服务器。它使用WCF (Web Component Framework) ,基于XML/XSLT来渲染Web...

    jpivot-1.8.jar

    3. **创建Web页面**:利用jpivot提供的JSP标签或者Servlet API,在Web应用中创建数据透视表的界面。 4. **用户交互**:用户可以通过Web界面交互式地创建和调整透视表,进行数据分析。 5. **性能优化**:由于OLAP...

    jpivot教程

    #### 四、Mondrian Schema详解 **Schema** 定义了一个多维数据库,包含了逻辑模型,以便编写MDX语言的查询语句。它包括以下概念: - **Cube**:一组维度和度量的集合,共同指向同一个事实表。 - 属性: - `name`...

    olap,jpivot-1.8.0.zip

    通过学习和使用Jpivot 1.8.0,无论是数据分析师还是开发者,都能够更好地理解和利用多维数据,为决策提供有力支持。对于企业而言,它提供了一种低成本、高效的数据分析解决方案,尤其适合那些需要快速响应市场变化、...

    JPivot+Mondrian资料收集汇总(1)

    JPivot是一款开源的Java库,主要用于在Web应用中创建交互式多维数据分析界面。它结合了 Mondrian OLAP(在线分析处理)服务器,为用户提供了一种高效、灵活的方式来探索和理解大量复杂数据。本资料收集汇总主要围绕...

    jpivot.zip下载包

    1. **Jpivot JAR文件**:这是Jpivot的核心库,包含了所有必要的类和资源,用于运行和构建Jpivot应用。 2. **示例数据**:可能提供一些预设的数据集或XML文件,用于演示Jpivot的功能。 3. **配置文件**:可能包含...

    jpivot1.8帮助文档

    jpivot1.8帮助文档,为方便大家携带特转换为chm格式的

    jpivot汇总.doc

    《Jpivot 汇总与 Mondrian Schema 详解》 Jpivot 是一款强大的开源工具,它允许用户在Web环境中以灵活的方式浏览和分析多维数据。集成Jpivot到你的应用程序中,首先需要将`jpivot.war`文件解压,并将 `/wcf/`, `/...

    如何将Mondrian+jpivot用于web项目

    如何将Mondrian+jpivot用于web项目

    如何将Mondrian用于web项目

    JPivot使用WCF(Web Component Framework)并依赖于JSP标签库,允许用户以自定义JSP标签的形式轻松操作多维数据。 1.1.2 维度层(Dimensional Layer)负责处理MDX查询,包括解析、验证和执行。查询通过计算坐标轴和...

    jpivot+wcf

    解压文件后: 1.jpivot-1.8.0.zip:内有jpivot.war,mondrian-src.zip...2.wcf-1.7.0.zip,与jpivot-1.8匹配的wcf库,内有wcf.war,wcf-src.zip 可以发布war应用程序,并结合src源代码,研究下mondrian+jpivot实现框架

    web项目中开源数据仓库技术的应用

    它使用XML/XSLT来渲染OLAP报表,支持自定义JSP标签库,能够轻松将多维数据展示给最终用户。JPivot基于WCF(Web Component Framework),通过XML/XSLT配置生成HTML,适用于复杂的OLAP报表展示。 总结 Mondrian作为...

    pentaho-platform-plugin-jpivot

    Pentaho平台JPivot插件 ... 这些更改位于jpivot-src-mods中,基于2013年6月20日从JPivot Sourceforge存储库获取的源代码: ://jpivot.cvs.sourceforge.net/viewvc/jpivot/ 由于平台升级到了最新版本

Global site tag (gtag.js) - Google Analytics