Displaying JFreeChart in a web page using Struts2

霸气de小男生 提交于 2019-12-02 11:19:14

问题


I am using Struts2. I need to display JFreeChart in a web page. Can any body help me on that?

Edit: it is getting displayed in binary format.

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();
    }
}

回答1:


You can convert your charts to images and include them in your HTML files.




回答2:


JSP/Struts2/whatever-MVC pages always ends up as HTML. To display images in HTML, you need the <img> element or whatever MVC component you'd normally to use to render a HTML <img> element. To locate an image, you need to let its src attribute point to a valid URL which returns the image. This can be a static or dynamic resource, the client doesn't see the difference.

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

In a JSP/Servlet environment, the normal practice is to let a Servlet listen on the particular URL using url-pattern in web.xml such as /images/* and let it create/load/find the image based on request parameters or pathinfo and write the image to the outputstream of the response along a correct set of response headers.

You can find a basic example here.




回答3:


There is a plugin: http://struts.apache.org/2.x/docs/jfreechart-plugin.html



来源:https://stackoverflow.com/questions/2545421/displaying-jfreechart-in-a-web-page-using-struts2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!