Struts2与jFreeChart整合出现的问题

jack_liu4Ye 2011-04-02 02:45:44

页面:
<img alt="" src="<%=request.getContextPath()%>/https/mystruts/test_view_picture.html" />


urlRewrite:
<rule>
<from>^/https/mystruts/test_view_picture.html$</from>
<to>/pages/mystruts/testViewPicture.action</to>
</rule>
struts-config:
<package name="pic" extends="jfreechart-default" namespace="/pages/mystruts">
<action name="testViewPicture" class="com.ito.hsr.action.get.TestViewPictureAction" method="getChart">
<result name="success" type="chart">
<param name="width">600</param>
<param name="height">450</param>
</result>
</action>
</package>




public class TestViewPictureAction extends ActionSupport{

public JFreeChart getChart(){
JFreeChart chart = ChartFactory.createPieChart3D(
"图书统计图", // 图表标题
getDataSet(), //数据
true, // 是否显示图例
false, //是否显示工具提示
false //是否生成URL
);
//重新设置图标标题,改变字体
chart.setTitle(new TextTitle("图书统计图", new Font("黑体", Font.ITALIC , 22)));
//取得统计图标的第一个图例
LegendTitle legend = chart.getLegend(0);
//修改图例的字体
legend.setItemFont(new Font("宋体", Font.BOLD, 14));
//获得饼图的Plot对象
PiePlot plot = (PiePlot)chart.getPlot();
//设置饼图各部分的标签字体
plot.setLabelFont(new Font("隶书", Font.BOLD, 18));
//设定背景透明度(0-1.0之间)
plot.setBackgroundAlpha(0.9f);
//设定前景透明度(0-1.0之间)
plot.setForegroundAlpha(0.50f);
System.out.println("chart===="+chart);
return chart;
}
private DefaultPieDataset getDataSet(){
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Spring2.0",47000);
dataset.setValue("J2EE",38000);
dataset.setValue("Ajax",31000);
dataset.setValue("JavaScript",29000);
dataset.setValue("Ajax In Action",25000);
return dataset;
}
}

...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack_liu4Ye 2011-04-19
  • 打赏
  • 举报
回复
还是不行,最后换了其他的方法实现的。
jack_liu4Ye 2011-04-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ylz2007 的回复:]

XML code

<package name="jFreeChartDemonstration" extends="struts-default" namespace="/jfreechart"> <result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"></……
[/Quote]

不明白你的意思,我的配置哪块出错了,还有我返回的应该是JFreeChart对象,不是String。
  • 打赏
  • 举报
回复

<package name="jFreeChartDemonstration" extends="struts-default" namespace="/jfreechart"> <result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"></result-type> </result-types>
<action name="JFreeChartAction" class="com.tangjun.struts2.JFreeChartAction">
<result type="chart">
<param name="width">400</param>
<param name="height">300</param>
</result>
</action>
</package>




LZ,你配置错误了。

<action name="testViewPicture" class="com.ito.hsr.action.get.TestViewPictureAction" method="getChart">
<result name="success" type="chart">
<param name="width">600</param>
<param name="height">450</param>
</result>
</action>






这样当然要报类转换错误了,你这个是String,action返回的时候是JfreeChart。
qingyuan18 2011-04-06
  • 打赏
  • 举报
回复
检查你引入的jfreechart的包版本,新的jfreechart包package路径有改变
jack_liu4Ye 2011-04-06
  • 打赏
  • 举报
回复


没人知道!!
UPC_思念 2011-04-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ylz2007 的回复:]

XML code

<package name="jFreeChartDemonstration" extends="struts-default" namespace="/jfreechart"> <result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"></……
[/Quote]

楼主返回的JFreeChart对象,但是action必须返回字符串对象才行,所以出现类型转换错误
jack_liu4Ye 2011-04-02
  • 打赏
  • 举报
回复
运行后报错

java.lang.ClassCastException: org.jfree.chart.JFreeChart

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧