当前位置: 代码迷 >> J2EE >> jfreechart热点,该如何解决
  详细解决方案

jfreechart热点,该如何解决

热度:131   发布时间:2016-04-22 02:24:30.0
jfreechart热点
s2sh框架
热点生成方法:
Java code
public static String getFileName(HttpSession session,int h,int w,JFreeChart chart) throws IOException{        //        HttpServletResponse response = ServletActionContext.getResponse();        StandardEntityCollection sec = new StandardEntityCollection();         ChartRenderingInfo info = new ChartRenderingInfo(sec);        response.setContentType("text/html");        PrintWriter write1 = response.getWriter();        String filename=ServletUtilities.saveChartAsPNG(chart, w, h,info, session);        ChartUtilities.writeImageMap(write1, filename, info, true);        write1.flush();        System.out.println("标记下");        System.out.println(info);        return filename;    }

action方法:
Java code
public String createDataset() throws IOException{        System.out.println("进入createDataset方法");        int cid=Integer.parseInt(request.getParameter("cid"));        System.out.println(cid);        List<Pouringgirder1> list=this.prg1Biz.findPouringgirder1ByHql(cid);        System.out.println(list.size());                DefaultPieDataset dataset=new DefaultPieDataset();        for(int i=0;i<list.size();i++){            dataset.setValue(list.get(i).getPgrId().toString(),list.get(i).getEvaluation());        }        JFreeChart chart=JChartUtil.createPieChart2D("评价", dataset);                String filename=JChartUtil.getFileName(request.getSession(), 200, 300, chart);                String graphURL = request.getContextPath()+ "/servletDisplayChart?filename=" + filename;        request.setAttribute("filename", filename);        request.setAttribute("graphURL", graphURL);        return "succ";    }

jsp代码:
Java code
<img src="${request.graphURL }" border=0 usemap="#${request.filename }"/>

页面的class代码:
Java code
<map id="jfreechart-22399.png" name="jfreechart-22399.png"><area shape="poly" coords="173,152,156,157,139,156,123,151,109,141,98,127,92,111,91,94,95,77,104,62,117,50,132,43,150,40,150,98,150,98" onMouseOver="return overlib('3: (85, 57%)');" onMouseOut="return nd();" nohref="nohref"/><area shape="poly" coords="150,40,160,41,169,43,178,47,186,53,193,60,199,68,204,77,207,86,208,96,207,106,205,116,202,125,196,133,190,141,182,147,173,152,150,98,150,98" onMouseOver="return overlib('2: (65, 43%)');" onMouseOut="return nd();" nohref="nohref"/></map><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>center4</title><link rel="stylesheet" href="../../css/c.css" type="text/css"></link></head><body onload="doshow(0)" > <div class="all">     <div class="right">        <div class="chart">        chart<br/>        <img src="/suomeng1/servletDisplayChart?filename=jfreechart-22399.png" border=0 usemap="#jfreechart-22399.png"/>        </div>    </div> </div></body></html>


在class代码中,map信息跑到了页面头部,热点信息不显示,鼠标停留无反应!
求解决办法!

------解决方案--------------------
没整过jfreechat 一直用chartDirector
------解决方案--------------------
这样看不出啥效果啊,建议去找个已经实现功能了的例子先参考一下。