Struts2+json+hignchart(簡單柱狀圖實現--適合jquery小白)

來源:互聯網
上載者:User

標籤:page   utf-8   time   name   prefix   ade   clear   average   適合   

做了一個簡單的基於Struts2 + Json + HighChart的小例子,費了一下午+晚上的時間,雖然簡單,但對於我這種Jquery+Ajax小白的人還是很值得記錄的。

哈哈哈

# 0. 關鍵點找到highchart的模板網站https://www.hcharts.cn/docs/basic-tooltip

# 1. 關鍵點,在struts.xml中配置傳回型別為json

<action name="queryItemsJson" class="com.bestplan.action.JsonAction" method="jsonTest">

<result type="json">

<param name="root">dataMap</param>

</result>

# 2. 關鍵點2

public class JsonAction {
private Map<String, Object> dataMap;
public String jsonTest(){
 
dataMap = new HashMap<String,Object>();
dataMap.clear();
List<List<Float>> aveTimeForCpsWay = new ArrayList<List<Float>>();
for(int x=0;x<4;x++){
List<Float> temp = new ArrayList<Float>();
for(int i=0;i<12;i++){
temp.add((new Random().nextFloat())*100); // 隨機產生12個float數
}
aveTimeForCpsWay.add(temp);
}

List<String> name = new ArrayList<String>();
name.add("Tokyo");
name.add("New York");
name.add("London");
name.add("Berlin");

dataMap.put("dataArr", aveTimeForCpsWay);
dataMap.put("nameArr", name);

return "success";
}

public Map<String, Object> getDataMap() {
return dataMap;
}

public void setDataMap(Map<String, Object> dataMap) {
this.dataMap = dataMap;
}

}

# 3. 關鍵點<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script src="js/jquery.1.9.1.min.js"></script><script src="js/highcharts.js"></script><script type="text/javascript">function requestJson(){    alert("nihao");      $.ajax({        type:‘GET‘,        url:‘queryItemsJson.action‘,        contentType:‘application/json;charset=utf-8‘,        //資料格式是json串        dataType:"html", //接受響應的資料類型        success:function(data){//返回json結果            alert(data);            var d = eval("("+data+")");        var chart = new Highcharts.Chart({            chart: {                renderTo:‘container‘,                type: ‘column‘            },            title: {                text: ‘Monthly Average Rainfall‘            },            subtitle: {                text: ‘Source: WorldClimate.com‘            },            xAxis: {                categories: [                    ‘Jan‘,                    ‘Feb‘,                    ‘Mar‘,                    ‘Apr‘,                    ‘May‘,                    ‘Jun‘,                    ‘Jul‘,                    ‘Aug‘,                    ‘Sep‘,                    ‘Oct‘,                    ‘Nov‘,                    ‘Dec‘                ],                crosshair: true            },            yAxis: {                min: 0,                title: {                    text: ‘Rainfall (mm)‘                }            },            tooltip: {                headerFormat: ‘<span style="font-size:10px">{point.key}</span><table>‘,                pointFormat: ‘<tr><td style="color:{series.color};padding:0">{series.name}: </td>‘ +                ‘<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>‘,                footerFormat: ‘</table>‘,                shared: true,                useHTML: true            },            plotOptions: {                column: {                    pointPadding: 0.2,                    borderWidth: 0                }            },            series: [{                name: d.nameArr[0],                data: d.dataArr[0]            }, {                name: d.nameArr[1],                data: d.dataArr[1]            }, {                name: d.nameArr[2],                data: d.dataArr[2]            }, {                name: d.nameArr[3],                data: d.dataArr[3]            }]        });        }        }    );    }</script></head><body><input type="button" onclick="requestJson()" value="請求是json,輸出是json"><div id="mydiv"></div>  <div id="container" style="min-width:400px;height:400px"></div></body></body></html>

Struts2+json+hignchart(簡單柱狀圖實現--適合jquery小白)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.