【问题标题】:Displaying JFreeChart in a web page using Struts2使用 Struts2 在网页中显示 JFreeChart
【发布时间】:2010-03-30 13:14:38
【问题描述】:

我正在使用 Struts2。我需要在网页中显示 JFreeChart。任何人都可以帮助我吗?

编辑:它以二进制格式显示。

public String execute() throws Exception {
    System.out.println("Refresh bar Chart");
    response.setContentType("image/png");
    OutputStream outstream = response.getOutputStream();
    try {
        JFreeChart chart = getChartViewer();
        ChartUtilities.writeChartAsPNG(outstream, chart, 500, 300);
        System.out.println("Created bar Chart");
        return SUCCESS;
    } finally {
        outstream.close();
        response.flushBuffer();
    }
}

【问题讨论】:

  • 我已经重新格式化了您评论中的代码;如果不正确则还原。

标签: jsp struts2 jfreechart


【解决方案1】:

您可以将图表转换为图像并将它们包含在 HTML 文件中。

【讨论】:

  • public String execute() throws Exception { System.out.println("刷新条形图"); response.setContentType("图片/png"); OutputStream outstream = response.getOutputStream();尝试 { JFreeChart 图表 = getChartViewer(); ChartUtilities.writeChartAsPNG(outstream,chart,500,300); System.out.println("创建的条形图");返回成功; } 最后 { outstream.close(); response.flushBuffer(); } } 它以二进制格式显示
【解决方案2】:

JSP/Struts2/whatever-MVC 页面总是以 HTML 结尾。要在 HTML 中显示图像,您需要 <img> 元素或通常用于呈现 HTML <img> 元素的任何 MVC 组件。要定位图像,您需要让它的src 属性指向返回图像的有效 URL。这可以是静态或动态资源,客户端看不到区别。

<img src="images/foo.png">

在JSP/Servlet环境中,通常的做法是让Servlet在web.xml中使用url-pattern监听特定的URL,例如/images/*,并让它根据请求参数创建/加载/查找图像或 pathinfo 并沿着一组正确的响应标头将图像写入响应的输出流。

你可以找到一个基本的例子here

【讨论】:

    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多