好久没写博客了,简单描述下在Springside架构基础上集成JFreechart的配置过程以及碰到的一些问题吧。
1. 首先下载JFreechart包(主要包括jfreechart-1.0.13.jar,jcommon-1.0.16.jar)以及struts2-jfreechart-plugin-2.1.8.1.jar,将包集成进去您工程的CLASSPATH
2. 修改struts.xml,添加JFreechart的结果类型,在package元素下添加。主要防止JFreechart和Convention插件的冲突,具体原因我们JE的博客文章里描述的很清楚,不在赘述。
3. 编写您的JFreechartAction类,注意JFreeChart字体的设置,以防乱码。
4. 碰到的问题
java.lang.IllegalArgumentException:vendorName == null!
仔细查看异常信息是由于项目中引用的一个jar文件里用到了jaiImageIO.jar文件,在部署重新打包的时候没有正确设置manifest所致。
设置后重新打包,部署。一切正常。
参考blog地址:[url]http://thierry.wasylczenko.free.fr/?p=66[/url]
1. 首先下载JFreechart包(主要包括jfreechart-1.0.13.jar,jcommon-1.0.16.jar)以及struts2-jfreechart-plugin-2.1.8.1.jar,将包集成进去您工程的CLASSPATH
2. 修改struts.xml,添加JFreechart的结果类型,在package元素下添加。主要防止JFreechart和Convention插件的冲突,具体原因我们JE的博客文章里描述的很清楚,不在赘述。
<!--
整合JFreeChart,添加返回结果集类型
-->
<result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
<param name="height">150</param>
<param name="width">200</param>
</result-type>
</result-types>
3. 编写您的JFreechartAction类,注意JFreeChart字体的设置,以防乱码。
4. 碰到的问题
java.lang.IllegalArgumentException:vendorName == null!
仔细查看异常信息是由于项目中引用的一个jar文件里用到了jaiImageIO.jar文件,在部署重新打包的时候没有正确设置manifest所致。
Manifest-Version: 1.0
Implementation-Vendor: Sun Microsystems, Inc
Implementation-Title: Java Runtime Environment
Implementation-Version: 1.6.0
Main-Class: fr.free.thierrywasyl.myproject.launcher.Launch
设置后重新打包,部署。一切正常。
参考blog地址:[url]http://thierry.wasylczenko.free.fr/?p=66[/url]