从数据库加载数据以在java中创建融合图表?

时间:2017-02-21 06:57:42

标签: java hashmap fusioncharts

如何将数据库值添加到地图以在java中创建融合图表

// datas get from database
 "trendlines": [
    {
        "line": [
            {
                "startvalue": "175000",
                "color": "#8cbb2c",
                "thickness": "4",
                "alpha": "60",
                "displayvalue": "Target - $175K"
            }
        ]
    }
]

1 个答案:

答案 0 :(得分:3)

为了添加trendlines对象,你必须创建一个数组列表来准备trendline对象,并调用一个方法来构建trendline对象的内部结构,在方法中你必须创建一个hashmap,添加为键值对,在你需要创建一个存储行对象数据的arraylist的hashmap中,在行对象中数据shuld是键值对,所以为了做到这一点你必须创建一个hashmap最后,你需要使用行arraylist对象添加这个hashmap,最后这个arraylist对象将被添加到主hashmap并返回它。

请参阅此Dropbox以获取使用数据库https://www.dropbox.com/s/04dwugo4unw5uin/Fusioncharts_trendline_sample.zip?dl=0

的示例

您将从sql文件夹中的项目中获取sql表。

您也可以查看下面的代码段

    <%

      //prepare trendlines
       ArrayList trendlines= new ArrayList();
       trendlines.add(buildTrendlines("startvalue","color","displayvalue",gson));

        //close the connection.
        result.close();


        //create 'dataMap' map object to make a complete FusionCharts datasource.
         Map<String, String> dataMap = new LinkedHashMap<String, String>();  
    /*
        gson.toJson() the data to retrieve the string containing the
        JSON representation of the data in the array.
    */
         dataMap.put("chart", gson.toJson(chartobj));
         dataMap.put("categories", gson.toJson(categories));
         dataMap.put("dataset", gson.toJson(dataset));
         dataMap.put("trendlines",gson.toJson(trendlines));
        FusionCharts mslineChart= new FusionCharts(
        "msline",// chartType
                    "chart1",// chartId
                    "600","400",// chartWidth, chartHeight
                    "chart",// chartContainer
                    "json",// dataFormat
                    gson.toJson(dataMap) //dataSource
                );

        %>


        <%!


        public Map buildTrendlines(String startvalue, String color, String displayvalue, Gson gson){

               Map<String, String> trendlineinner = new HashMap<String, String>();
                 ArrayList lines = new ArrayList();
                    Map<String, String> linesdata = new HashMap<String, String>();  
                  linesdata.put("startvalue", "17022");
                  linesdata.put("color","#6baa01");
                   linesdata.put("displayvalue","Average");
                  lines.add(linesdata);  
                trendlineinner.put("line", gson.toJson(lines));
                return trendlineinner;
                 }
                 %>
                
    <%= mslineChart.render() %>