Introduction to the FusionCharts JSP Wrapper
FusionCharts JSP Wrapper can be downloaded from here.
FusionCharts Suite XT includes the FusionCharts JSP wrapper that lets you create interactive, data-driven charts without writing any JavaScript code.
JavaScript and HTML code is used to generate charts in the browsers. The server-side JSP wrapper generates the required JavaScript and HTML code as a string, which is then used to render charts on a browser page.
In this section, you will be shown how you can create a simple chart using the FusionCharts server-side JSP wrapper.
We will create a simple column 2D chart that plots the monthly revenue for the last year at Harry’s SuperMart. The data for the chart is shown in the table below:
| Month | Revenue (In USD) | 
|---|---|
| Jan | 420000 | 
| Feb | 810000 | 
| Mar | 720000 | 
| Apr | 550000 | 
| May | 910000 | 
| Jun | 510000 | 
| Jul | 680000 | 
| Aug | 620000 | 
| Sep | 610000 | 
| Oct | 490000 | 
| Nov | 900000 | 
| Dec | 730000 | 
The rendered column 2D chart will look like this:
The data structure to render this chart is explained below:
Step 1:
Include the fusioncharts.js file, as shown in the code snippet below. 
<%@page contentType="text/html" pageEncoding="UTF-8"%>
  <!DOCTYPE html>
  <html>
      <head>
         <title>Loading Data from a Static JSON String - fusioncharts.com</title>
         <script src="fusioncharts.js"></script>
      </head>
      <body>
          <div id="chart-container"></div>
            
            This file is needed to render the chart. Ensure that the path to this JS file is correct. Otherwise, it may lead to JavaScript errors. Download FusionCharts from here.
Step 2:
Include the FusionCharts.java file as a package in your project.
Step 3:
Include the package in the file where you want to show FusionCharts.
  <%@page import="fusioncharts.FusionCharts" %>
            
            Step 4:
Create a chart object using the FusionCharts JAVA class constructor. Syntax for the constructor:
FusionCharts("type of chart", "unique chart id", "width of chart", "height of chart", "div id to render the chart", "data format", "data source")
<%
    FusionCharts column2dChart = new FusionCharts(
      // type of chart
      "column2D",        
      // unique chart ID
      "myFirstChart",
      // width and height of the chart    
      "500","300",    
      // div ID of the chart container
      "chart-container",
      // data format        
      "json",    
      // data source        
      "{              
          \"chart\": {  
              \"caption\": \"Monthly revenue for last year\",  
              \"subCaption\": \"Harry's SuperMart\", 
              \"xAxisName\": \"Month\",  
              \"yAxisName\": \"Revenues (In USD)\",    
              \"numberPrefix\": \"$\",   
              \"theme\": \"zune\" 
          },                                   
          \"data\": [{    
              \"label\": \"Jan\",
          \"value\": \"420000\"
      }, {
          \"label\": \"Feb\",
          \"value\": \"810000\"
      }, {
          \"label\": \"Mar\",
          \"value\": \"720000\"
      }, {
          \"label\": \"Apr\",
          \"value\": \"550000\"
      }, {
          \"label\": \"May\",
          \"value\": \"910000\"
      }, {
          \"label\": \"Jun\",
          \"value\": \"510000\"
      }, {
          \"label\": \"Jul\",
          \"value\": \"680000\"
      }, {
          \"label\": \"Aug\",
          \"value\": \"620000\"
      }, {
          \"label\": \"Sep\",
          \"value\": \"610000\"
      }, {
          \"label\": \"Oct\",
          \"value\": \"490000\"
      }, {
          \"label\": \"Nov\",
          \"value\": \"900000\"
      }, {
          \"label\": \"Dec\",
          \"value\": \"730000\"   
          }]  
      }"
  );
%>
            
            Note: Instead of coping the code from the code viewer, use copy to clipboard button to copy the code. The reason we suggest this because in a code viewer, break lines(which is a complete string line) has been used to display the proper method to set the chart cosmetics and how the datasource can be passed as a parameter.
Step 5:
Render the chart.
<html>
  <body>
        <%=column2dChart.render()%>
  </body>
</html>
            
            Final template
The full HTML code for the example looks as under:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
  <!DOCTYPE html>
  <html>
    <head>
        <title>Loading Data from a Static JSON String - fusioncharts.com</title>
        <script src="fusioncharts.js"></script>
    </head>
    <body>
        <div id="chart"></div>
        <%@page import="fusioncharts.FusionCharts" %>
        <%
        FusionCharts columnChart= new FusionCharts(
          // chartType
          "column2d",
          // chartId
          "chart1",
          // chartWidth, chartHeight
          "600","400",
          // chartContainer
          "chart",
          // dataFormat
          "json",
          "{\"chart\": {  \"caption\": \"Monthly revenue for last year\",\"subCaption\": \"Harry’s SuperMart\",\"xAxisName\": \"Month\",\"yAxisName\": \"Revenues (In USD)\",\"numberPrefix\": \"$\",\"theme\": \"zune\"},\"data\": [{\"label\": \"Jan\",\"value\": \"420000\"}, {\"label\": \"Feb\",\"value\": \"810000\"}, {\"label\": \"Mar\",\"value\": \"720000\"}, {\"label\": \"Apr\",\"value\": \"550000\"}, {\"label\": \"May\",\"value\": \"910000\"}, {\"label\": \"Jun\",\"value\": \"510000\"}, {\"label\": \"Jul\",\"value\": \"680000\"}, {\"label\": \"Aug\",\"value\": \"620000\"}, {\"label\": \"Sep\",\"value\": \"610000\"}, {\"label\": \"Oct\",\"value\": \"490000\"}, {\"label\": \"Nov\",\"value\": \"900000\"}, {\"label\": \"Dec\",\"value\": \"730000\"}]}");
        %>
        <%=column2dChart.render()%>
    </body>
  </html>