首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jfreechart,jsp解决方法

2012-01-21 
jfreechart,jsp我现在做的是关于jfreechart的但是遇到很大的麻烦我把JSP中的数据传到jfreechart中生成图形

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

[解决办法]
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>

热点排行