技术更迭真的很快,JFreeChart从0.9.19已经升级到了1.0.13,和struts2以及spring进行了友好的合作,许多api也已经更新。原来需要和servlet紧密绑定,现在通过struts2的配置文件,即可轻松搞定。(说是轻松,其实也费了很大事。)
需要在struts.xml文件里增添以下几段代码,让struts2能够使用jfreechart-plugin处理jfreechart到web页面上。
<result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"></result-type>
</result-types>
<action name="listLineChart" method="lineChart" class="action.FtpStatisticAction">
<result type="chart">
<param name="height">500</param>
<param name="width">800</param>
</result>
</action>
这里要注意,之前参照网上的例子,其中多了一行<param name="param">chart</param> ,没理解这是干什么用的,但tomcat始终报错,说是找不到setChart方法,去除之后就好了。
另外,我是从老的api升级而来,许多调用变化很大,如果有错,需要耐心调试,确保调用无错后,再核对配置文件。基本可以让图片正常显示出来。