.JSPX:
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="????????? xmlns:f="????????? xmlns:h="????????? xmlns:af="????????? xmlns:afh="????????? 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連接數據庫