jfreechart 와 struts 2 를 결합 하여 접 는 선 그림, 떡 모양 그림, 기둥 모양 그림 의 페이지 디 스 플레이 를 실현 합 니 다.

직장 을 그만 두 고 일자 리 를 찾 은 후에 jfreechart 도표 생 성 을 배 웠 습 니 다. 새우 들 의 저서 와 결합 하여 동생 은 체계 적 인 정 리 를 다음 과 같이 했 습 니 다.
    struts 2 와 jfreechart 를 결합 하려 면 먼저 플러그 인 패키지 struts 2 - jfreechart - plugin - 2.1.6. jar 가 필요 합 니 다.그리고 jfreechart 를 가 져 옵 니 다.
두 개의 가방 과 struts 2 의 7 개의 응용 가방, 가방 구 조 는 첨부 파일 a. jpg 참조;첨부 파일 에 항목 의 압축 패키지 가 있 으 니 다운로드 해서 사용 하 셔 도 됩 니 다.
    공용 서비스 클래스 를 작성 합 니 다. 기둥 모양 그림, 떡 모양 그림, 접 는 선 그림 을 만 드 는 방법 이 포함 되 어 있 으 며, 다른 첨부 파일 은 jfreechart 의 모든 종류 와 방법 을 제공 합 니 다.
상세 하 게 설명 하면, 너 는 이런 방법 에 따라 도 표를 아름 답 게 설정 할 수 있다.
package aokunsang.chartControl;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class JFreeChartService {
	

//----------------------------------------       -------------------------------------------------------
	/**
	 *      
	 * @return
	 */
	public static JFreeChart createPieChart(){
		PieDataset pieData = getPieDataset();
		JFreeChart pieChart = ChartFactory.createPieChart3D("     ", pieData, true, true, false);
		PiePlot3D piePlot = (PiePlot3D)pieChart.getPlot();
		piePlot.setBackgroundPaint(Color.WHITE);
		piePlot.setLabelFont(new Font("  ",Font.BOLD,15));
		resetPlot(piePlot);
		
		pieChart.getLegend().setItemFont(new Font("  ",Font.BOLD,15));  //        
		
		pieChart.getTitle().setFont(new Font("    ",Font.BOLD,32));
		
		return pieChart;
	}
	private static PieDataset getPieDataset(){
		DefaultPieDataset data = new DefaultPieDataset();
		data.setValue("  ", 260);
		data.setValue("  ", 250);
		data.setValue("  ", 150);
		data.setValue("  ", 140);
		data.setValue("  ", 200);
		return data;
	}
	private static void resetPlot(PiePlot3D pieplot){
		String unitStyle = "{0}={1}({2})";
		
		pieplot.setNoDataMessage("       ,     ");
		pieplot.setNoDataMessageFont(new Font("    ",Font.BOLD,21));
		pieplot.setNoDataMessagePaint(Color.BLUE);
		
//		pieplot.setToolTipGenerator(new StandardPieToolTipGenerator(
//										unitStyle,
//										NumberFormat.getNumberInstance(),
//										new DecimalFormat("0.00%"))
//									);
		
		//        
		pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
										unitStyle,
										NumberFormat.getNumberInstance(),
										new DecimalFormat("0.00%"))
								    );
		//          
		pieplot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
				   unitStyle,
				   NumberFormat.getNumberInstance(),
				   new DecimalFormat("0.00%")));
	}
	。。。。。。。

 
그리고 세 개의 Action 을 써 서 각각 세 가지 그림 을 표시 하 는데 사용 하 는데 그들의 방법 은 거의 같다.Action 에서 JFreeChart 를 정의 해 야 합 니 다. 대상 이름 은 반드시
chart 로.
public class BarFreeChartAction extends ActionSupport {

	private JFreeChart chart;
	
	
	public JFreeChart getChart() {
		return chart;
	}


	public void setChart(JFreeChart chart) {
		this.chart = chart;
	}


	public String execute(){
		this.setChart(JFreeChartService.createBarChart());
		return SUCCESS;
	}
}

    가장 중요 한 것 은 struts. xml 프로필 입 니 다.
   
<package name="jfreechartPackage" extends="jfreechart-default" namespace="/">
		
	<!--     -->
	<action name="barFreeChartAction" class="aokunsang.action.BarFreeChartAction">
		<result name="success" type="chart">
			<param name="width">700</param>
			<param name="height">400</param>
		</result>
	</action>
	

 
    jfreechart - default. xml 을 계승 해 야 합 니 다. struts 2 - jfreechart - plugin - 2.1.6. jar 에서 org. apache. struts 2. dispatcher 패키지 아래 struts - plugin. xml 파일 을 볼 수 있 습 니 다.
<struts>
    <package name="jfreechart-default" extends="struts-default">
    
    	<result-types>
    		<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
    			<param name="height">150</param>
    			<param name="width">200</param>
    		</result-type>
    	</result-types>
    </package>

</struts>

 
마지막 으로 간단 한 jsp 파일 입 니 다.
<html>
  <head>
    <title>jfreechart   </title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="Content-Type" content="UTF-8">      
  <body>
  <center>              </center>
     (3D ):<br/>
  <img border="0" src="pieFreeChartAction.action"><p>&nbsp;</p>
     (3D ):<br/>
  <img border="0" src="barFreeChartAction.action"><p>&nbsp;</p>
     ( 3D ):<br/>
  <img border="0" src="lineFreeChartAction.action">
  </body>
</html>

 

좋은 웹페이지 즐겨찾기