<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java sql

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      1 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
     jsf 頁面代碼
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
        xmlns:ui
    ="http://java.sun.com/jsf/facelets"
        xmlns:h
    ="http://java.sun.com/jsf/html"
        xmlns:f
    ="http://java.sun.com/jsf/core"
        xmlns:rich
    ="http://richfaces.org/rich"
        xmlns:a
    ="http://richfaces.org/a4j"
        xmlns:s
    ="http://jboss.com/products/seam/taglib"
        template
    ="../template/template.xhtml">

        
    <ui:define name="right">

    <!--highchart的js庫-->
            
    <script src="../js/js1/highcharts.js"></script>
    <!--自己封裝的調用highchart作圖的js函數(shù)-->
            
    <script src="../js/drawChart.js"></script>

    <!--其它代碼段略^_^-->

                    
    <a:outputPanel id="chart">
                        
    <rich:panel header="#{messages['operatingData.label.resultChart']}">
                            
    <div id="highchartChart" style="width: 90%" />
                            
    <script>
                generateChart('#
    {serverNumBrowse.chartTool.jsonData}');
            
    </script>
                        
    </rich:panel>
                    
    </a:outputPanel>

    <!--其它代碼段略^_^-->


        
    </ui:define>
    </ui:composition>


    serverNumBrowse是一個seam組件

    EL表達式#{serverNumBrowse.chartTool.jsonData}表示獲得serverNumBrowse組件的chartTool對象的jsonData屬性,該屬性是一個json數(shù)據(jù)格式的字符串

    js代碼如下:

    function generateChart(data) {
        var barModel = eval('(' + data + ')');
        var width = jQuery(window).width();
        var height = jQuery(window).height();
        jQuery("#highchartChart").width(width / 1.3).height(height / 1.8);
        var options = {
            chart : {
                renderTo :'highchartChart',
                defaultSeriesType :barModel.type,
                borderWidth :2,
                borderColor :'#4572A7',
                zoomType:'xy'
            },
            title : {
                text :barModel.hctitle
            },
            plotOptions : {
                column : {
                    pointPadding :0.8,
                    borderWidth :0
                }
            },
            tooltip : {
                formatter : function() {
                    return  this.y +' '+ this.x;
                }
            },
            xAxis : {
                categories :barModel.columnkeys
            },
            yAxis : {
                min :barModel.minData,
                max :barModel.maxData,
                allowDecimals :true,
                title : {
                    text :barModel.yTitle
                }
            },
            series : []
        };
        var orgsLength = barModel.rowkeys.length;
        var dataArray = barModel.data;
        for ( var i = 0; i 
    < orgsLength; i++) {
            var dname 
    = barModel.rowkeys[i];
            
    options.series.push( {
                name :dname,
                data :dataArray[i]
     
      1 public class ChartModel {
      2 
      3     /*
      4      * 
      5      */
      6     private String rowkeys[] = null;
      7 
      8     /*
      9      * 
     10      */
     11     private String columnkeys[] = null;
     12 
     13     /*
     14      * 
     15      */
     16     private String xTitle = null;
     17 
     18     /*
     19      * 
     20      */
     21     private String yTitle = null;
     22 
     23     /*
     24      * 
     25      */
     26     private int intData[][] = null;
     27 
     28     /*
     29      * 
     30      */
     31     private double doubleData[][] = null;
     32 
     33     /*
     34      * 
     35      */
     36     private long longData[][] = null;
     37 
     38     /*
     39      * 
     40      */
     41     private String type = null;
     42     
     43     /*
     44      * 
     45      */
     46     private long[] pieData = null;
     47 
     48     /**
     49      * 
     50      */
     51     public ChartModel() {
     52     }
     53 
     54     public String[] getRowkeys() {
     55         return rowkeys;
     56     }
     57 
     58     public void setRowkeys(String[] rowkeys) {
     59         this.rowkeys = rowkeys;
     60     }
     61 
     62     public String[] getColumnkeys() {
     63         return columnkeys;
     64     }
     65 
     66     public void setColumnkeys(String[] columnkeys) {
     67         this.columnkeys = columnkeys;
     68     }
     69 
     70     public String getXTitle() {
     71         return xTitle;
     72     }
     73 
     74     public void setXTitle(String title) {
     75         xTitle = title;
     76     }
     77 
     78     public String getYTitle() {
     79         return yTitle;
     80     }
     81 
     82     public void setYTitle(String title) {
     83         yTitle = title;
     84     }
     85 
     86     public int[][] getIntData() {
     87         return intData;
     88     }
     89 
     90     public void setIntData(int[][] intData) {
     91         this.intData = intData;
     92     }
     93 
     94     public double[][] getDoubleData() {
     95         return doubleData;
     96     }
     97 
     98     public void setDoubleData(double[][] doubleData) {
     99         this.doubleData = doubleData;
    100     }
    101 
    102     public String getType() {
    103         return type;
    104     }
    105 
    106     public void setType(String type) {
    107         this.type = type;
    108     }
    109 
    110     public long[][] getLongData() {
    111         return longData;
    112     }
    113 
    114     public void setLongData(long[][] longData) {
    115         this.longData = longData;
    116     }
    117 
    118     public long[] getPieData() {
    119         return pieData;
    120     }
    121 
    122     public void setPieData(long[] pieData) {
    123         this.pieData = pieData;
    124     }
    125 }
           });
        }
      1package com.xpec.gmtool.common.tool.graphic;
      2
      3import java.util.Arrays;
      4
      5import org.richfaces.json.JSONArray;
      6import org.richfaces.json.JSONException;
      7import org.richfaces.json.JSONObject;
      8
      9/**
     10 * @author Jia Xiaohui
     11 * 
     12 */

     13public class ChartTool {
     14
     15    /*
     16     * 
     17     */

     18    private String jsonData;
     19
     20    /*
     21     * 
     22     */

     23    private ChartModel model;
     24
     25    /*
     26     * 
     27     */

     28    public ChartTool() {
     29    }

     30
     31    /**
     32     * @return
     33     * 
     34     */

     35    public String LoadData(boolean intFlag) {
     36        if (intFlag) {
     37            jsonData = intToJSON(model);
     38        }
     else {
     39            jsonData = doubleToJSON(model);
     40        }

     41        return jsonData;
     42    }

     43
     44    /**
     45     * 
     46     * @return
     47     */

     48    public String LoadLongData() {
     49        jsonData = longToJSON(model);
     50        return jsonData;
     51    }

     52
     53    /**
     54     * 
     55     * @return
     56     */

     57    public String LoadPieLongData() {
     58        jsonData = pieLongToJSON(model);
     59        return jsonData;
     60    }

     61
     62    /**
     63     * 將chartmodel對象中的long型二維數(shù)組轉為是個餅狀圖的json數(shù)據(jù)(餅狀圖較特殊)
     64     * @param chartModel
     65     * @return
     66     */

     67    private String pieLongToJSON(ChartModel chartModel) {
     68        JSONObject dataToJSON = new JSONObject();
     69        try {
     70            JSONArray rowKeys = new JSONArray(Arrays.asList(chartModel
     71                    .getRowkeys()));
     72            dataToJSON.put("rowkeys", rowKeys);
     73            dataToJSON.put("hctitle", chartModel.getXTitle());
     74            dataToJSON.put("type", chartModel.getType());
     75            long[] data = chartModel.getPieData();
     76            JSONArray jsonArray = new JSONArray();
     77            for (int i = 0; i < data.length; i++{
     78                jsonArray.put(data[i]);
     79            }

     80            dataToJSON.put("pieData", jsonArray);
     81        }
     catch (JSONException e) {
     82            e.printStackTrace();
     83        }

     84        return dataToJSON.toString();
     85    }

     86
     87    /**
     88     * 將chartmodel對象中的long型二維數(shù)組轉為是個其他折線圖或者柱狀圖的json數(shù)據(jù)
     89     * @param chartModel
     90     * @return
     91     */

     92    private String longToJSON(ChartModel chartModel) {
     93        JSONObject dataToJSON = new JSONObject();
     94        try {
     95            JSONArray rowKeys = new JSONArray(Arrays.asList(chartModel
     96                    .getRowkeys()));
     97            dataToJSON.put("rowkeys", rowKeys);
     98            JSONArray columnKeys = new JSONArray(Arrays.asList(chartModel
     99                    .getColumnkeys()));
    100            dataToJSON.put("columnkeys", columnKeys);
    101            dataToJSON.put("hctitle", chartModel.getXTitle());
    102            dataToJSON.put("yTitle", chartModel.getYTitle());
    103            dataToJSON.put("type", chartModel.getType());
    104            long max = -1;
    105            long min = 100000000;
    106            long[][] data = chartModel.getLongData();
    107            JSONArray jsonArray = new JSONArray();
    108            for (int i = 0; i < data.length; i++{
    109                JSONArray array = new JSONArray();
    110                for (int j = 0; j < data[i].length; j++{
    111                    array.put(data[i][j]);
    112                    if (data[i][j] > max) {
    113                        max = data[i][j];
    114                    }

    115                    if (data[i][j] < min) {
    116                        min = data[i][j];
    117                    }

    118                }

    119
    120                jsonArray.put(array);
    121            }

    122            dataToJSON.put("data", jsonArray);
    123            dataToJSON.put("maxData", max);
    124            dataToJSON.put("minData", min);
    125        }
     catch (JSONException e) {
    126            e.printStackTrace();
    127        }

    128        return dataToJSON.toString();
    129    }

    130
    131    /**
    132     * 將chartmodel對象中的double型二維數(shù)組轉為是個其他折線圖或者柱狀圖的json數(shù)據(jù)
    133     * @param chartModel
    134     * @return
    135     */

    136    private String doubleToJSON(ChartModel chartModel) {
    137        JSONObject dataToJSON = new JSONObject();
    138        try {
    139            JSONArray rowKeys = new JSONArray(Arrays.asList(chartModel
    140                    .getRowkeys()));
    141            dataToJSON.put("rowkeys", rowKeys);
    142            JSONArray columnKeys = new JSONArray(Arrays.asList(chartModel
    143                    .getColumnkeys()));
    144            dataToJSON.put("columnkeys", columnKeys);
    145            dataToJSON.put("hctitle", chartModel.getXTitle());
    146            dataToJSON.put("yTitle", chartModel.getYTitle());
    147            dataToJSON.put("type", chartModel.getType());
    148            double max = -1;
    149            double min = 10000;
    150            double[][] data = chartModel.getDoubleData();
    151            JSONArray jsonArray = new JSONArray();
    152            for (int i = 0; i < data.length; i++{
    153                JSONArray array = new JSONArray();
    154                for (int j = 0; j < data[i].length; j++{
    155                    array.put(data[i][j]);
    156                    if (data[i][j] > max) {
    157                        max = data[i][j];
    158                    }

    159                    if (data[i][j] < min) {
    160                        min = data[i][j];
    161                    }

    162                }

    163
    164                jsonArray.put(array);
    165            }

    166            dataToJSON.put("data", jsonArray);
    167            dataToJSON.put("maxData", max);
    168            dataToJSON.put("minData", min);
    169        }
     catch (JSONException e) {
    170            e.printStackTrace();
    171        }

    172        return dataToJSON.toString();
    173    }

    174
    175    /**
    176     * 將chartmodel對象中的int型二維數(shù)組轉為是個其他折線圖或者柱狀圖的json數(shù)據(jù)
    177     * @param chartModel
    178     * @return
    179     */

    180    private String intToJSON(ChartModel chartModel) {
    181        JSONObject dataToJSON = new JSONObject();
    182        try {
    183            JSONArray rowKeys = new JSONArray(Arrays.asList(chartModel
    184                    .getRowkeys()));
    185            dataToJSON.put("rowkeys", rowKeys);
    186            JSONArray columnKeys = new JSONArray(Arrays.asList(chartModel
    187                    .getColumnkeys()));
    188            dataToJSON.put("columnkeys", columnKeys);
    189            dataToJSON.put("hctitle", chartModel.getXTitle());
    190            dataToJSON.put("yTitle", chartModel.getYTitle());
    191            dataToJSON.put("type", chartModel.getType());
    192            int max = -1;
    193            int min = 10000;
    194            int[][] data = chartModel.getIntData();
    195            JSONArray jsonArray = new JSONArray();
    196            for (int i = 0; i < data.length; i++{
    197                JSONArray array = new JSONArray();
    198                for (int j = 0; j < data[i].length; j++{
    199                    array.put(data[i][j]);
    200                    if (data[i][j] > max) {
    201                        max = data[i][j];
    202                    }

    203                    if (data[i][j] < min) {
    204                        min = data[i][j];
    205                    }

    206                }

    207
    208                jsonArray.put(array);
    209            }

    210            dataToJSON.put("data", jsonArray);
    211            dataToJSON.put("maxData", max);
    212            dataToJSON.put("minData", min);
    213        }
     catch (JSONException e) {
    214            e.printStackTrace();
    215        }

    216        return dataToJSON.toString();
    217    }

    218
    219    public String getJsonData() {
    220        return jsonData;
    221    }

    222
    223    public ChartModel getModel() {
    224        return model;
    225    }

    226
    227    public void setModel(ChartModel model) {
    228        this.model = model;
    229    }

    230
    231    public void setJsonData(String jsonData) {
    232        this.jsonData = jsonData;
    233    }

    234}

    235

        chart 
    = new Highcharts.Chart(options);
    }

    為highchart定制的ChartModel對象
      
    轉換json格式數(shù)據(jù)的ChartTool對象






    效果圖:




    posted on 2013-04-17 18:46 鐘正楷 閱讀(434) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 三上悠亚亚洲一区高清| 1000部拍拍拍18勿入免费视频下载 | 亚洲精品无码一区二区| 亚洲免费视频网址| 亚洲综合一区二区| 人与禽交免费网站视频| 亚洲一区二区三区久久| 在线成人a毛片免费播放| 亚洲av无码专区国产不乱码| 日本无卡码免费一区二区三区| 亚洲a∨无码精品色午夜| 麻豆国产精品入口免费观看| 日韩色日韩视频亚洲网站| 亚洲成a人片在线观看国产| 人妻免费久久久久久久了| 亚洲中文久久精品无码ww16| 免费毛片在线看不用播放器| 亚洲国产精品国自产电影| 亚洲精品动漫免费二区| 337P日本欧洲亚洲大胆艺术图 | 亚洲av无码一区二区三区乱子伦| 97青青草原国产免费观看| 亚洲AV成人噜噜无码网站| 国产精品色午夜免费视频| www在线观看免费视频| 亚洲第一区香蕉_国产a| 最近最好的中文字幕2019免费| 精品久久久久久久久亚洲偷窥女厕| 在线亚洲精品自拍| 国产曰批免费视频播放免费s | 免费一级国产生活片| 免费国产成人α片| 亚洲欧美自偷自拍另类视| 亚洲日韩VA无码中文字幕| 久久精品免费一区二区| 四虎国产精品成人免费久久| 久久亚洲精品中文字幕| 内射无码专区久久亚洲| 国产国产人免费视频成69堂| 深夜A级毛片视频免费| 亚洲一卡2卡4卡5卡6卡在线99|