下载地址:http://www.javasp.net/jinxin/jinxin.rar (Sonic1.0)
         本来可以用cwolf的。但是cwolf不能做统计。返照他的功能自己做了一个。觉得还不错。开发的时候省略了很多JFreeChart的东西。直接做一个连数据的CLASS就可以了。下面是开发指南,希望对要用JFREECHART的人有帮助。
  
优点:            简化了生成图形的繁琐代码,用TagLib封装了。只要数据对象就可以了
  
缺点:           只能生成饼图 和 柱图 其他图还没有做
  
Sonic Chart Tutorial 
SETUP for installing the tag library
(First time user) 
How to Install (Making sure you have the Jar File)
Put the following JAR files of the /lib directory into your web applications /WEB-INF/lib directory:  
  
l        Sonic. jar  
l        jfreechart-0.9.20.jar 
l        jcommon-0.9.5.jar 
l        Commons-logging. jar  
You must add the following code to the web.xml file t o let yours project know the location of the TLDS 
  
 
<servlet> 
    <servlet-name>DisplayChart</servlet-name> 
    <servlet-class>rg.jfree.chart.servlet.DisplayChart</servlet-class> 
  </servlet> 
  |   
   
Additionally you should provide a servlet-mapping to tell the container which URL maps to your sonic rendering servlet. 
  
 
<servlet-mapping> 
      <servlet-name>DisplayChart</servlet-name> 
      <url-pattern>servlet/DisplayChart</url-pattern> 
  </servlet-mapping> 
   |   
  
Additionally you should proide a taglib to tell container which URL to find sonic.tld  
 
| 
   <taglib> 
    <taglib-uri>/WEB-INF/sonic.tld</taglib-uri> 
    <taglib-location>/WEB-INF/sonic.tld</taglib-location> 
  </taglib>  |   
  
1.How to Create a PeChart DatasetProducer 
  
l         Createa a java file such ByUsingPeople_PieDB.java 
              Note: 
1.       In ByUsingPeople_PieDB.java file you must implements ProductDataSetInterface, Serializable 
  
Below is ByUsingPeople_PieDB.java detail 
  
import org.jfree.data.DefaultPieDataset; 
import java.util.ArrayList; 
import net.javasp.www.chartfactorymethod.creator.ChartCreatorInterface.ProductDataSetInterface;import java.io.Serializable; 
  
public class IndustryGroupRequire implements ProductDataSetInterface, Serializable{ 
  
   public ArrayList produceDataset() throws Exception { 
// Create a DefaultPieDataset object 
    DefaultPieDataset ds = new DefaultPieDataset(); 
    String total = null; 
    String percent = null; 
    ArrayList list = new ArrayList(); 
  
    // The data which need set into DefaultPieDataset object 
    ds.setValue("第一产业比重", 36); 
    ds.setValue("第二产业比重", 24); 
    ds.setValue("第三产业比重", 20); 
// Below chart show total info     
    String[] totalname = {"所占比重:", ""}; 
  
    list.add(ds); 
    list.add("80"+"%"); 
    list.add(""); 
    list.add(totalname); //3 
    list.add("other"); // 
    return  list; 
   } 
} 
  
1.       Create a jsp file such as piechart.jsp 
Note:  
1.     The taglib sonic attribute must same to <jsp useBean id> attribute Such as <sonic:plotchart id=”pieData” …> and <jsp:useBean id=”pieData” …> 
2.     type="piechart" type attribute must be “piechart” 
  
  
Below is piechart.jsp detail 
piechart.jsp 
<%@ page contentType="text/html; charset=GB2312" %> 
<%@taglib uri='/WEB-INF/sonic.tld' prefix='sonic' %> 
<jsp:useBean id="pieData" class=" net.javasp.www.piechartdataset.ByUsingPeople_PieDB "/> 
<html> 
<head> 
<title> 
按行业分组的需求人数 
</title> 
</head> 
<body bgcolor="#ffffff"> 
<div align="center"> 
  <sonic:plotchart id="pieData" type="piechart" name="按行业分组的需求人数" hight="700" width="700" /> 
</div> 
</body> 
</html> 
  
2.How to Create a Column Chart DatasetProducer 
Note: 
l         Createa a java file such SupplyTotalCount.java 
  
In ByUsingPeople_PieDB.java file you must implements ProductDataSetInterface, Serializable 
import net.javasp.www.chartfactorymethod.creator.ChartCreatorInterface.ProductDataSetInterface; import java.io.Serializable; 
import java.util.ArrayList; 
import org.jfree.data.CategoryDataset; 
import org.jfree.data.DatasetUtilities; 
  
/** 
 * <p>Title: Colum3DproduceDataset</p> 
 * <p>Description: </p> 
 * <p>Copyright: Copyright (c) 2004</p> 
 * <p>Company: www.javasp.net</p> 
 * @author Jstar 
 * @version 1.0 
 */ 
  
public class SupplyTotalCount implements ProductDataSetInterface, Serializable { 
  public SupplyTotalCount() { 
  } 
  
  public ArrayList produceDataset() throws Exception { 
  
    int total = 0; 
    int percent = 0; 
    ArrayList list = new ArrayList(); 
    //---------------------------------需求人数-----求职人数 
    double[][] date = new double[][] {{322, 261}, {128, 240}}; 
  
    String[] rowKeys = {"上期结转", "本期新增"}; 
    String[] columnKeys = {"需求人数", "求职人数"}; 
  
    String[] totalname = {"需求人数", "求职人数"}; 
  
    CategoryDataset ds = DatasetUtilities.createCategoryDataset(rowKeys,columnKeys, date); 
    //total 
    for (int i = 0; i < 1; i++) { 
      for (int j = 0; j < date.length; j++) { 
        total += date[j][i]; 
      } 
    } 
    //percent 
    for (int a = 1; a < 2; a++) { 
      for (int b = 0; b < date.length ; b++) { 
        percent += date[b][a]; 
      } 
    } 
  
    list.add(ds);//0 
    list.add(Integer.toString(total));//1 
    list.add(Integer.toString(percent));//2 
    list.add(totalname);//3 
    list.add("other");//4 
    return list; 
  
  } 
} 
2.      Create a jsp file such as columnchart.jsp 
Note:  
3.     The taglib sonic attribute must same to <jsp useBean id> attribute Such as <sonic:plotchart id=” columndata” …> and <jsp:useBean id=” columndata” …> 
4.     type=" columndata " type attribute must be “columndata” 
  
  
Below is piechart.jsp detail 
piechart.jsp 
<%@ page contentType="text/html; charset=GB2312" %> 
<%@taglib uri='/WEB-INF/sonic.tld' prefix='sonic' %> 
<jsp:useBean id="columndata " class=" net.javasp.www.columndataset.SupplyTotalCount "/> 
<html> 
<head> 
<title> 
供求总体人数 
</title> 
</head> 
<body bgcolor="#ffffff"> 
<div align="center"> 
  <sonic:plotchart id=" columndata " type=" columchart " name="供求总体人数" width="500" hight="350 " /> 
</div> 
</body> 
</html> 
  
   
 
  |