示例 5:使用 Cewolf 在 JSP 中生成图表
Cewolf(支持图表的 Web 对象框架)构建在 JFreeChart 上,使开发人员可以通过 JSP 自定义标记从 JavaServer 页面访问 JFreeChart 库。与 JFreeChart 一样,Cewolf 也提供了一个简单的 API。Cewolf 可免费获得。在本示例中,我们使用 Cewolf 0.9.3。
图 9 中的图像是使用 JFreeChart 和 Cewolf JSP 标记生成的垂直条形图的屏幕截图。它在 Firefox Web 浏览器中显示,在 Oracle Containers for J2EE 10g 上托管。该图像证明 HR 数据中表示的虚拟公司中的管理人员薪资很好。
![]() |
| 图9:使用Cewolf JSP自定义标记在JSP中生成的堆积条形图 |
使用 Cewolf 和 JSP 创建上图所示的图表很简单。下面是该 JSP 页面的代码:
清单 8: 使用 Cewolf 标记生成图表的 JSP 页面
<?xml version='1.0' encoding='windows-1252'?> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" xmlns:cewolf="etc/cewolf.tld"> <jsp:output omit-xml-declaration="true" doctype-root-element="HTML" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" /> <jsp:directive.page contentType="text/html;charset=windows-1252" /> <jsp:useBean id="chartData" class="org.marx.hr.charting.HrDeptSalariesCategoryDataset" /> <script type="JavaScript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" /> <title>Render JFreeChart in JSP with Cewolf JSP Tag Library</title> </head> <body> <cewolf:chart id="theChart" type="stackedverticalbar" title="Salaries For Each Department" xaxislabel="Departments" yaxislabel="Salaries"> <cewolf:data> <cewolf:producer id="chartData" /> </cewolf:data> </cewolf:chart> <cewolf:img chartid="theChart" renderer="/cewolf" alt="Salaries per Employee Along Department Lines" width="1200" height="800" /> </body> </html> </jsp:root> |
特定于 Cewolf 的部分代码包括
生成该示例所需的大多数工作都位于该 JSP 页面通过 jsp:useBean 代码行访问的 Java 类中。该 Java 类实现几个主要的 Cewolf 接口,从其 produceDataset(Map) 方法(实现 Cewolf 的 DatasetProducer 接口所需的方法)返回一个 JFreeChart 数据集子接口。
produceDataset(Map) 方法中的代码仅创建相应 JFreeChart 数据集接口的具体实现,与本文前述示例中完全相同。在本示例中,DefaultCategoryDataset 被实例化,用数据进行填充,并从 produceDataset(Map) 返回,这是因为 JSP 页面需要可以实现提供的 CategoryDataset 接口以生成堆积垂直条形图的内容。
Cewolf 主页包括一个教程,该教程演示如何对 web.xml 文件进行修改以便在适当时候可以调用 Cewolf servlet。该教程还解释如何实现 DatasetProducer 接口以便为 JSP 页面中的 Cewolf 自定义标记提供数据。
| 共13页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] [9] [10] [11] [12] [13] 下一页 | |||||||||||||||
|