`

cewolf 学习

    博客分类:
  • java
阅读更多

       cewolf 的学习,项目中用到了 cewolf+ jfreeChart于是就学习了下, cewolf  我个人认为是实现了 一个MVC设计模式 ,将显示 与控制分离 view jsp中与tablib方式 饼图,柱图,等在前台显示出来, 控制的 model 就是数据定义的数据 类似与javabean

 重要的就是控制方面 ,控制的类要实现 cewolf 的接口 ,我们要在实现的cewolf方法中对jfreechar 进行 二次的封装。

 ##############################3

  首先是在官方网站下载 jar

Cewolf

 http://cewolf.sourceforge.net/new/index.html

 jfreechar

  http://www.jfree.org/jfreechart/

 2 配置 项目中 webXml文件

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<servlet>
		<servlet-name>CewolfServlet</servlet-name>
		<servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class>
		<!-- sets storage implementation -->
		<init-param>
			<param-name>storage</param-name>
			<param-value>
				de.laures.cewolf.storage.TransientSessionStorage
			</param-value>
		</init-param>
		<!-- sets overlib.js location relative to webapp -->
		<init-param>
			<param-name>overliburl</param-name>
			<param-value>/etc/overlib.js</param-value>
		</init-param>
		<!-- turn on or off debugging logging -->
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>4</load-on-startup>
	</servlet>
	
	<!--  注意这个是必须的,前台的方法要通过 adChart 才能调用 ,img  标签中使用它 renderer="/adChart"  才能使用  -->
	<servlet-mapping>
		<servlet-name>CewolfServlet</servlet-name>
		<url-pattern>/adChart/*</url-pattern>
	</servlet-mapping>
</web-app>

 

3 实现的java coed

   通过实现 cewolf 的接口 implements DatasetProducer, Serializable

DatasetProducer 这个接口是关键 要实现其中的 produceDataset 方法 该方法返回的

 Jfreechar an object of type org.jfree.data.Dataset  Dateset 类型数据

package cewolf;

import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.Map;

import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;

import de.laures.cewolf.DatasetProducer;

public class AdDateLineDataset implements DatasetProducer, Serializable {
	private Number[] data;

	private Date[] dateCategories;

	public AdDateLineDataset() {
		super();
		data = new Number[] { 11, 33, 27 };
		DateFormat df = DateFormat.getDateTimeInstance();
		try {
			dateCategories = new Date[] { df.parse("2008-03-5 08:00:00"),
					df.parse("2008-03-5 10:00:00"),
					df.parse("2008-03-5 15:00:00") };
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}

	public AdDateLineDataset(Date[] d, Number[] a) {
	}

	public Object produceDataset(Map params) {

		TimeSeries ts1 = new TimeSeries("My Title",
				org.jfree.data.time.Hour.class);
		for (int i = 0; i < data.length; i++) {
			ts1.add(new org.jfree.data.time.Hour(dateCategories[i]), data[i]);
		}
		TimeSeriesCollection collect = new TimeSeriesCollection(ts1);
		return collect;
	}

	public String getProducerId() {
		return "TimeDataProducer";
	}

	public boolean hasExpired(Map params, Date since) {
		return true;
	}
}

 

4 前台的jsp页面

<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.util.Date"%>
<!--  将下载的tld 放在 这里 -->
<%@taglib uri="/tld/cewolf.tld" prefix="cewolf"%>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>test</title>
	</head>
	<body>
		<jsp:useBean id="data1" class="com.cewolfDemo.db.LineCewolf" />
		<cewolf:chart id="pageChart2" title="时间序列图" type="timeseries"
			xaxislabel="时间" yaxislabel="数量">
			<cewolf:data>
				<cewolf:producer id="data1" />
			</cewolf:data>
		</cewolf:chart>
		<!--  注意 renderer 参数必须与 web。xml文件中 cewolf 的 url map 相对应 -->
		<cewolf:img chartid="pageChart2" renderer="/adChart" width="500"
			height="500" />

	</body>
</html>

 

分享到:
评论

相关推荐

    cewolf-1.2.1.zip

    **cewolf-1.2.1.zip** 是一个包含 Cewolf 1.2.1 版本资源的压缩文件,这个工具对于IT行业的开发者来说,尤其在进行特定的开发任务时,...通过持续学习和使用Cewolf,开发者可以快速地构建出美观、功能丰富的应用程序。

    cewolf应用

    "cewolf应用"是一个关于开源工具的讨论,主要聚焦在名为"TCEWolf"的软件上。这个工具可能是一个集成开发环境(IDE)或者一个特定领域的应用程序,鉴于标签中提到的"源码"和"工具",我们可以推断它与编程和代码编辑...

    Web报表开发技术-Cewolf开发技术实例

    通过学习这个Cewolf开发实例,你可以掌握如何在J2EE应用中集成和利用Cewolf技术来创建强大的Web报表系统。这不仅提高了应用的功能性,也提升了用户体验,因为用户可以直接在浏览器中查看和交互数据,而无需下载和...

    JSP创建基于WEB的动态图表之开源代码篇源代码.rar_jsp_jsp动态_动态WEB_基于Web

    接着,Cewolf是一个JSP图表组件库,它是基于JFreeChart的,可以方便地在Web应用中集成动态图表。例如,`CewolfHBar.jsp`和`CewolfVBar.jsp`分别展示了水平条形图和垂直条形图的创建,而`CewolfHBar3D.jsp`和`...

    Java Web开发实例大全(基础卷) 完整pdf扫描版[179MB]

    《Java Web开发实例大全(提高卷)》既适合Java Web程序员参考和查阅,也适合Java Web初学者,如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 目录 第1篇 流行组件应用篇 第1章 操作XML文件 第...

    Java Web开发实例大全

    《Java Web开发实例大全(提高卷)》既适合Java Web程序员参考和查阅,也适合Java Web初学者,如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 目录 第1篇 流行组件应用篇 第1章 操作XML文件 第...

    精通Java Web动态图表编程

    书中不仅覆盖了Java的基本图形处理能力,还详细介绍了如何通过多种技术手段如Java Applet、Java Servlet、JSP、Java Bean以及开源工具JFreeChart和Cewolf来实现动态图表的创建。 #### 二、Java Applet与绘图基础 -...

Global site tag (gtag.js) - Google Analytics