日期:2014-05-18  浏览次数:20730 次

linux下jfreechart不显示图片,方法写在action中,jsp调action
jfreechart功能在window下可以实现,现在放到linux中就不显示图片,已经试过了修改CATALINA_OPTS="-Djava.awt.headless=true"这个修改配置,还是不行,后来采用修改jfreechart生成的路径,(不修改路径默认是生成在tomcat中temp文件夹中,发现在linux下tomcat7无temp文件夹),就修改图片生成路径,(  String JFpath = ServletActionContext.getRequest().getRealPath(File.separator+"chart");
File file = new File(JFpath+File.separator+"ListAllFruit4Pie2Action.png");
System.out.println(JFpath);
try {
ChartUtilities.saveChartAsPNG(file, chart, 700, 300);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
})
发现在window可以找到自建chart文件下的图片,换到linux后发现,在linux中在chart文件夹下有文件,但是size为0,就是说生成的是一个不能用的文件,点开也无显,试过多种方法还是不行,求助!!
linux jfreechart 图片不显示 action jsp

------解决方案--------------------
String filePath = this.getRequest().getRealPath( "jsp/report/");
String charName = timeSlot.png;
FileOutputStream fos_jpg = null; 
String chartName =path+charName;
try 

isChartPathExist(path); 
fos_jpg = new FileOutputStream(chartName); 

// 将报表保存为png文件 
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 1055, 410);
}catch(Exception e){
System.out.println(e);
}
return chartName;