struts2与jfeechart整合相关有关问题
struts2与jfeechart整合相关问题
1:struts2版本低,它的struts-jfreechart-plugin.jar中文件struts-plugin.xml中定义的包没有继承struts-default
源文件如下:
解决办法:解压jar文件,将struts-plugin.xml改为
然后用jar命令打包;注意:在开发工具中不可直接修改
2.action编写问题
①action中必许声明private JFreeChart chart,及getter方法,字段名必须chart
②乱码问题,建议将出现汉字的地方(plot,legend,xAxis,yAxis)设置为系统汉字字体,具体代码见文件,setTickLabelFont才是设置x轴字体的方法,
③不能将取出数据的加进数据集的方法写成:
for(String interest : interests){
System.out.println(context.get(interest));
data.addValue((Integer)context.get(interest), interest , interest); }
而是
因为:不是每次取出的数据都有四个字段,这样就导致了最终形成的图表有的是三列,四列等
1:struts2版本低,它的struts-jfreechart-plugin.jar中文件struts-plugin.xml中定义的包没有继承struts-default
源文件如下:
<package name="jfreechart-default" > <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> </package>
解决办法:解压jar文件,将struts-plugin.xml改为
<package name="jfreechart-default" extends="struts-default"> <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> </package>
然后用jar命令打包;注意:在开发工具中不可直接修改
2.action编写问题
①action中必许声明private JFreeChart chart,及getter方法,字段名必须chart
②乱码问题,建议将出现汉字的地方(plot,legend,xAxis,yAxis)设置为系统汉字字体,具体代码见文件,setTickLabelFont才是设置x轴字体的方法,
③不能将取出数据的加进数据集的方法写成:
for(String interest : interests){
System.out.println(context.get(interest));
data.addValue((Integer)context.get(interest), interest , interest); }
而是
data.addValue((Integer) context.get("football"), "足球", "足球"); data.addValue((Integer) context.get("volleyball"), "排球", "排球"); data.addValue((Integer) context.get("basketball"), "篮球", "篮球"); data.addValue((Integer) context.get("badminton"), "羽毛球", "羽毛球");
因为:不是每次取出的数据都有四个字段,这样就导致了最终形成的图表有的是三列,四列等
3.标签的用法,卡以查看相关文档,出现错误时,要仔细查看