首页 > 代码库 > Struts2整合JFreeChar

Struts2整合JFreeChar

1,导入struts2开发的jar包和struts2-jfreechart-plugin-2.3.16.3.jar

2,web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>Struts2JFreeChart</display-name>  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list>    <filter>       <filter-name>StrutsPrepareAndExecuteFilter</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>    <filter-mapping>          <filter-name>StrutsPrepareAndExecuteFilter</filter-name>          <url-pattern>/*</url-pattern>  </filter-mapping>  </web-app>

3,edu.hhxy.chart.bar.BarCharAction.java(Action)

package edu.hhxy.chart.bar;import java.awt.Color;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.labels.ItemLabelAnchor;import org.jfree.chart.labels.ItemLabelPosition;import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.plot.PlotOrientation;import org.jfree.chart.renderer.category.BarRenderer3D;import org.jfree.data.category.CategoryDataset;import org.jfree.data.general.DatasetUtilities;import org.jfree.ui.TextAnchor;import com.opensymphony.xwork2.ActionSupport;public class BarCharAction extends ActionSupport {    /**     *      */    private static final long serialVersionUID = 1L;    private JFreeChart chart;    public JFreeChart getChart() {        return chart;    }    @Override    public String execute() throws Exception {        double[][] data = http://www.mamicode.com/new double[][] { { 1320, 1110, 1123, 321 },                { 720, 210, 1423, 1321 }, { 830, 1310, 123, 521 },                { 400, 1110, 623, 321 } };        String[] rowKeys = { "苹果", "香蕉", "橘子", "梨子" };        String[] columnKeys = { "深圳", "北京", "上海", "南京" };        CategoryDataset dataset = DatasetUtilities.createCategoryDataset(                rowKeys, columnKeys, data);        chart = ChartFactory.createBarChart3D("水果销售统计图", "水果", "销售", dataset,                PlotOrientation.VERTICAL, true, true, true);        CategoryPlot plot = chart.getCategoryPlot();        // 设置网格背景颜色        plot.setBackgroundPaint(Color.white);        // 设置网格竖线颜色        plot.setDomainGridlinePaint(Color.pink);        // 设置网格横线颜色        plot.setRangeGridlinePaint(Color.pink);        // 显示每个柱的数值,并修改该数值的字体属性        BarRenderer3D renderer = new BarRenderer3D();        renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());        renderer.setBaseItemLabelsVisible(true);        renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(                ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));        renderer.setItemLabelAnchorOffset(10D);        // 设置平行柱的之间距离        renderer.setItemMargin(0.4);        plot.setRenderer(renderer);        return SUCCESS;    }}

4,struts.xml中配置Action

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>        <package name="jfreechart" extends="jfreechart-default">        <action name="barChart" class="edu.hhxy.chart.bar.BarCharAction">            <result name="success" type="chart">               <param name="value">chart</param>               <param name="type">png</param>               <param name="width">700</param>               <param name="height">500</param>             </result>        </action>    </package>    </struts>

5,index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body>    <img src="barChart" /></body></html>

Result: