开发者

Displaying JFreeChart in a web page using Struts2

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


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


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.


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜