我现在做的是关于jfreechart 的 但是遇到很大的麻烦我把JSP 中的数据传到jfreechart中生成图形。不知道怎么实现;最好用servlet 那就最好了 。那位朋友能有这方面的实例啊!!非常感谢啊!

解决方案 »

  1.   

    Step1:
    使用数据生成图像Object,如下:
    //建立数据集
    DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
    //向数据集中添加数据
    while (rs.next()) {
        dataSet.addValue(rs.getDouble("LabItemValue"), "检验结果", DateUtil.formatDate(rs.getDate("LabTime")));
    }//创建图像,这里是3D折线
    JFreeChart chart = ChartFactory.createLineChart3D(labItemName
    + "曲线", "检验日期", "检验结果(" + suffix + ")", dataSet,
    PlotOrientation.VERTICAL, true, true, true);//设置图像的各个属性
    CategoryPlot plot = chart.getCategoryPlot();//背景色
    plot.setBackgroundPaint(Color.GREEN);//显示网格线及其颜色颜色
    plot.setDomainGridlinesVisible(true);
    plot.setDomainGridlinePaint(Color.BLUE);plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.BLUE);//前景透明度
    plot.setForegroundAlpha(0.7f);
    //没有数据时的提示信息
    plot.setNoDataMessage("没有要显示的数据");step2:
    使用JFreeChart的ServletUtilities将图像对象保存到Session中
    String filename = ServletUtilities.saveChartAsPNG(chart, 600, 343, request.getSession(true));step3:
    在页面使用DisplayChart显示图像,语法如下:
    <img src="<%=request.getContextPath() %>/DisplayChart?filename=<%=(String)request.getAttribute("image") %>" border="0">
    DisplayChart是JFreeChart自带的Servlet,需要在web.xml配置:
    <servlet>
      <servlet-name>DisplayChartServlet</servlet-name>
      <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    </servlet>

    <servlet-mapping>
      <servlet-name>DisplayChartServlet</servlet-name>
      <url-pattern>/DisplayChart</url-pattern>
    </servlet-mapping>