0

在我的 Spring web MVC 应用程序中,我计划在我的 jsp 视图上显示一些 JFree 图表,我不知道该怎么做,因为我的第一个想法对我不起作用,生成图像,然后检索它从文件夹中。

现在我想,控制器是否能够直接重新运行图像?假设这是我的服务接口:

public interface ReportingService {
    Image getChart() ;
}

我可以做这样的事情吗?如何从我的 jsp 调用这个图像?

@Controller
public class ReportingController {
    @Autowired
    private ReportingService reportingService ;

    @RequestMapping("/reports")
    public Image handleReports(){
         return reportingService.getChart() ;
    }
}
4

2 回答 2

1

你可以试试这个

@RequestMapping("/reports")    
public void handleReports(HttpServletResponse response){    
    response.setContentType("image/jpeg");    
    OutputStream out = response.getOutputStream();   
    writeChartAsJPEG(out , reportingService.getChart() , 400, 400);    
}

现在,在你的 jsp 页面中形成<img src="/reports" />

它将动态创建和呈现图表。

于 2012-07-06T10:20:06.600 回答
0

我在我的项目中广泛使用了 Jfreechart。我使用 CEWOLF 框架将它们放入 JSP 中。 http://cewolf.sourceforge.net/new/index.html这是一个开源框架,它提供直接的 JSP 标签来将图表放入页面

如果你有很多图表可以使用,那么使用这个框架是值得的。
对于您的查询,据我所知,您所指的图像必须是 JFreechart 图像,而不是 Java 小程序图像。您必须使用字节流转换对其进行转换。

于 2012-06-20T12:08:13.097 回答