.JSPX用ADF构架置入Jfreechart

.JSPX用ADF构架置入Jfreechart

.JSPX:
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:af="http://xmlns.oracle.com/adf/faces"
          xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
          xmlns:graph="/webapp/graph.tld">
  <jsp:directive.page contentType="text/html;charset=UTF-8"/>
  <jsp:directive.page import="Bar,java.io.*,org.jfree.chart.*,org.jfree.chart.servlet.*,java.util.*"/>
  <html>
    <body><!--jsp:scriptlet>
  Bar chart = new Bar();
  String filename = chart.generateChart("", session, new PrintWriter(out), 75, 45);
  String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" +filename;
   </jsp:scriptlet-->
     <!--h:graphicImage url="/img/acmecenter.jpg" height="200"
                                     width="190"
                                     /-->
                                    
<f:view>
        <afh:html>
      <f:loadBundle basename="com.primesuccess.portal.resources.UIResources"
                        var="res"/>
          <afh:head title="#{res['home.title']}"/>
          <afh:body inlineStyle="margin:0.0pt; padding:0.0pt;">
            <af:form>
              <af:panelPage>
                <f:facet name="branding">
                  <af:objectImage source="/img/SRBranding.gif"/>
                </f:facet>
                <f:facet name="menuGlobal">
                  <h:panelGroup>
                    <af:menuButtons>
                      <h:outputFormat value="#{res['portal.connectedUser']}"
                                      escape="false" rendered="true">
                        <f:param value="#{account.username}"/>
                      </h:outputFormat>
                      <af:objectSpacer width="140" height="10"/>
                      <af:commandMenuItem text="#{res['portal.logout']}"
                                          action="logout" immediate="true"
                                          icon="/img/logout.gif"/>
                    </af:menuButtons>
                  </h:panelGroup>
                </f:facet>
                <f:facet name="menu1">
                  <af:menuTabs var="menuTab" value="#{account.model}">
                    <f:facet name="nodeStamp">
                      <!--af:commandMenuItem text="#{menuTab.label}"
                                      action="#{menuTab.getOutcome}"
                                      rendered="#{menuTab.shown and menuTab.type=='default'}"
                                      disabled="#{menuTab.readOnly}"/-->
                      <af:commandMenuItem text="#{menuTab.label}"
                                          action="#{menuTab.getOutcome}"
                                          rendered="#{menuTab.shown and menuTab.type=='default'}"
                                          disabled="#{menuTab.readOnly}"/>
                    </f:facet>
                  </af:menuTabs>
                </f:facet>
                <f:facet name="messages">
                  <af:messages message="aaa" globalOnly="true"/>
                </f:facet>
                <f:facet name="appCopyright">
                  <af:outputText value="#{res['portal.copyright']}"/>
                </f:facet>
                <af:panelHorizontal halign="center">
                  <af:objectImage source="/img/acmecenter.jpg" align="middle"/>
                </af:panelHorizontal>
              </af:panelPage>
              <h:graphicImage url="#{chart.graphURL}" height="175" width="300"
                              usemap="#{chart.filename}" ismap="false"/>
                                <!--h:graphicImage url="/img/acmecenter.jpg" height="200"
                                     width="190"
                                     /-->
            </af:form>
          </afh:body>
        </afh:html>
      </f:view></body>
  </html>
</jsp:root>

Model:
 // FrontEnd Plus GUI for JAD
 // DeCompiled : Chart.class

 

 import java.io.PrintWriter;
import java.io.Writer;

import java.text.NumberFormat;
 import javax.servlet.http.HttpSession;
 
 import javax.servlet.http.HttpServletRequest;


import oracle.adf.share.http.Http21Util;

import org.jfree.chart.*;
 import org.jfree.chart.axis.NumberAxis;
 import org.jfree.chart.entity.StandardEntityCollection;
 import org.jfree.chart.imagemap.ImageMapUtilities;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
 import org.jfree.chart.servlet.ServletUtilities;
 import org.jfree.data.xy.*;

 public class Bar
 {
 String filename=new String();
 String graphURL=new String();
    HttpSession session;
    HttpServletRequest request;
    PrintWriter pw;
 

     public Bar()
     {
     }

     private static XYDataset createDataset1()
     {
         XYSeries xyseries = new XYSeries("Lot Count");
         xyseries.add(0.0D, 0.0D);
         xyseries.add(1.0D, 10D);
         xyseries.add(2D, 20D);
         xyseries.add(3D, 30D);
         xyseries.add(4D, 50D);
         xyseries.add(5D, 32D);
         xyseries.add(6D, 15D);
         xyseries.add(7D, 5D);
         xyseries.add(8D, 20D);
         xyseries.add(9D, 35D);
         xyseries.add(10D, 80D);
         XYSeries xyseries1 = new XYSeries("Series 2");
         xyseries1.add(0.0D, 0.0D);
         xyseries1.add(1.0D, 10D);
         xyseries1.add(2D, 18D);
         xyseries1.add(3D, 22D);
         xyseries1.add(4D, 35D);
         xyseries1.add(5D, 50D);
         xyseries1.add(6D, 55D);
         xyseries1.add(7D, 66D);
         xyseries1.add(8D, 78D);
         xyseries1.add(9D, 95D);
         xyseries1.add(10D, 100D);
         XYSeriesCollection xyseriescollection = new XYSeriesCollection();
         xyseriescollection.addSeries(xyseries);
         xyseriescollection.addSeries(xyseries1);
         return xyseriescollection;
     }

     private static JFreeChart createChart(String targetUrl)
     {
         XYDataset xydataset = createDataset1();
         JFreeChart jfreechart = ChartFactory.createXYLineChart("Fab1", "MCT", "Lot Count", xydataset, PlotOrientation.VERTICAL, true, true, false);
         XYPlot xyplot = jfreechart.getXYPlot();
         NumberAxis numberaxis = new NumberAxis("Line2");
         numberaxis.setAutoRangeIncludesZero(false);
         numberaxis.setAutoRangeMinimumSize(1.0D);
         numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
         xyplot.setRangeAxis(1, numberaxis);
         xyplot.mapDatasetToRangeAxis(1, 1);
         NumberAxis numberaxis1 = new NumberAxis("MCT");
         numberaxis1.setAutoRangeIncludesZero(false);
         numberaxis1.setAutoRangeMinimumSize(1.0D);
         xyplot.setDomainAxis(numberaxis1);
         XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer();
         xylineandshaperenderer.setSeriesLinesVisible(0, false);
         xyplot.setRenderer(xylineandshaperenderer);
         return jfreechart;
     }

     public String generateChart(String targetUrl, HttpSession session,PrintWriter pw, int w, int h)
     {
         JFreeChart chart = createChart(targetUrl);
         ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
         String filename=new String();
         try
         {
             filename = ServletUtilities.saveChartAsPNG(chart,w,h,info,session);
             ImageMapUtilities.writeImageMap(pw, filename, info);
             pw.flush();
         }
         catch(Exception e)
         {
             e.printStackTrace();
            
           
         }
        
         return filename;
     }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    public String getFilename() {
        return this.generateChart("", session, pw, 750, 450);
    }

    public void setGraphURL(String graphURL) {
        this.graphURL = graphURL;
    }

    public String getGraphURL() {
    System.out.println("FILENAME:"+this.getFilename());
    String s="" + "/servlet/DisplayChart?filename=" +this.getFilename();
  
        return s;
    }
   
}

动态则DAO连接数据库

你可能感兴趣的:(.JSPX用ADF构架置入Jfreechart)