Jsp 中使用 Visifire 统计图表
Visifire 统计图表前面几篇文章中已经做了介绍了,Visifire 可以嵌入到Asp、Asp.net、Php、Jsp等页面中,但是在这些页面中使用 Visifire 时通过 javascript 或服务端代码中拼接 xmal 格式的字符串时非常不便,稍不注意就有拼错的可能。为了方便在 Jsp 页面中使用 Visifire 统计图表,做了一个可以根据设置的值自动生成 xaml 格式的字符串的小项目。
项目中的几个类分别和 Visifire 中相应的元素对应,通过这个小项目可以非常方便的在 jsp 中使用 Visifire 。
下面是一个小示例:
首先在 jsp 项目中引用 JspFire.jar 包,然后就可以在 jsp 中使用 JspFire 创建 Visifire 图表啦。
<%@page contentType="text/html" import="net.designbased.jspfire.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% Chart chart = new Chart(); // 创建一个 Chart 实例 chart.setAnimationEnabled(true); chart.setView3D(true); chart.setHeight(300d); chart.setWidth(500d); Title title = new Title(); // 创建一个 Title 实例 title.setEnabled(true); title.setText("Jsp 使用 Visifire 示例"); chart.addTitle(title); DataSeries series = new DataSeries(); // 创建一个 Pie 图表 series.setRenderAs(ChartType.Pie); series.setBevel(true); DataPoint dp1 = new DataPoint(); // 创建数据结点 dp1.setYValue("10"); dp1.setLegendText("很好"); series.AddDataPoint(dp1); DataPoint dp2 = new DataPoint(); dp2.setYValue("14"); dp2.setLegendText("一般"); series.AddDataPoint(dp2); DataPoint dp3 = new DataPoint(); dp3.setYValue("32"); dp3.setLegendText("很强大"); series.AddDataPoint(dp3); DataPoint dp4 = new DataPoint(); dp4.setYValue("21"); dp4.setLegendText("很烂"); series.AddDataPoint(dp4); chart.addSeries(series); String xaml = chart.toString(); %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Visifire Example</title> <script type="text/javascript" src="visifire/Visifire.js"></script> </head> <body> <div id="Chart<%= chart.getID()%>" > <script type="text/javascript" > // 创建 Visifire 图表 var vChart = new Visifire('visifire/SL.Visifire.Charts.xap', "MyChart", 500, 300); // 图表数据 var chartXml = '<%= xaml%>'; // 设置图表的数据 vChart.setDataXml(chartXml); // 输出图表 vChart.render("Chart<%= chart.getID()%>"); </script> </div> </body> </html> 运行结果如下:
这个项目现在还没有实现 Visifire 的全部功能,我会慢慢完善的,直到把Visifire的全部功能实现,同时还会做一个用于Asp.net的相同的项目。
示例代码下载:JspFireExample.zip 或者 http://zdd.me/myfiles
为了你的幸福,我一直在努力!