struts2框架json传递后台数据到echarts(代码片段)

童话的守望者 童话的守望者     2023-02-04     221

关键词:

echarts是百度公司提供的一个开源的大数据可视化图标展示工具,是百度大数据可视化的关键工具(点击打开链接。最近因为项目需要要做可视化,就用了这个工具,发现效果还可以。回顾当初自己入门echarts的种种艰难,决心写篇blog分享一下我的经验教训,让后面的人轻松一下。

1.首先,你要将你的数据去除敏感的信息,然后在echarts的官方测试页面进行效果测试。这个过程,你可能和我一样不懂js,不清楚你构造的数据是不是满足echarts的输入格式,这里有个小技巧,就是你用alert(json.stringify())直接输出你要检测的对象。

2.其次,你要尽快熟悉echarts工具。另外,echarts的官方文档虽然写的很好了,但是对于我这种新手来说还是很难上手,这里我的办法是花半天时间看官方的实例,对于option中的每一个参数都认真地对照官方文档学习一遍,基本上就能掌握echarts的方法。

3.最后,当你能够在echarts的测试页面很好的画出你的效果图时,你需要将你的绘图脚本移植到你的项目中去。我做的是一个网站,所以就是要把数据从后台传递到前端。这里我用的是json的方式传递,框架是struts2,效果如下。


action类:

package action;

import java.util.ArrayList;   
import java.util.HashMap;   
import java.util.List;   
import java.util.Map;   

 
import com.opensymphony.xwork2.ActionSupport;   
public class TestJsonaction extends ActionSupport 
	 private static final long serialVersionUID = 3518833679938898354L;   
     

    private Map<String,double []> userdata1;
	    public Map<String,double []> getUserdata1()    
	        return userdata1;   
	       
	    public void setUserdata1(Map<String,double []> userdata1)    
	        this.userdata1 = userdata1;   
	       
    private Map<String,double []> userdata2;
	    
	    public Map<String,double []> getUserdata2()    
	        return userdata2;   
	       
	    public void setUserdata2(Map<String,double []> userdata2)    
	        this.userdata2 = userdata2;   
	       
    private Map<String,double []> userdata3;
	    
	    public Map<String,double []> getUserdata3()    
	        return userdata3;   
	       
	    public void setUserdata3(Map<String,double []> userdata3)    
	        this.userdata3 = userdata3;   
	       
	    
	    public String gainUserInfo()   
	    	userdata1 =new HashMap<String,double []>();
	    	double[] c1=16251.93,11307.28,24515.76,11237.55,14359.88,22226.7,10568.83,12582,19195.69,49110.27,32318.85,15300.65,17560.18,11702.82,45361.85,26931.03,19632.26,19669.56,53210.28,11720.87,2522.66,10011.37,21026.68,5701.84,8893.12,605.83,12512.3,5020.37,1670.44,2102.21,6610.05;
	    	double[] c2=14113.58,9224.46,20394.26,9200.86,11672,18457.27,8667.58,10368.6,17165.98,41425.48,27722.31,12359.33,14737.12,9451.26,39169.92,23092.36,15967.61,16037.96,46013.06,9569.85,2064.5,7925.58,17185.48,4602.16,7224.18,507.46,10123.48,4120.75,1350.43,1689.65,5437.47;
	    	double[] c3=12153.03,7521.85,17235.48,7358.31,9740.25,15212.49,7278.75,8587,15046.45,34457.3,22990.35,10062.82,12236.53,7655.18,33896.65,19480.46,12961.1,13059.69,39482.56,7759.16,1654.21,6530.01,14151.28,3912.68,6169.75,441.36,8169.8,3387.56,1081.27,1353.31,4277.05;
	    	double[] c4=11115,6719.01,16011.97,7315.4,8496.2,13668.58,6426.1,8314.37,14069.87,30981.98,21462.69,8851.66,10823.01,6971.05,30933.28,18018.53,11328.92,11555,36796.71,7021,1503.06,5793.66,12601.23,3561.56,5692.12,394.85,7314.58,3166.82,1018.62,1203.92,4183.21;
	    	double[] c5=9846.81,5252.76,13607.32,6024.45,6423.18,11164.3,5284.69,7104,12494.01,26018.48,18753.73,7360.92,9248.53,5800.25,25776.91,15012.46,9333.4,9439.6,31777.01,5823.41,1254.17,4676.13,10562.39,2884.11,4772.52,341.43,5757.29,2703.98,797.35,919.11,3523.16;
	    	double[] c6=8117.78,4462.74,11467.6,4878.61,4944.25,9304.52,4275.12,6211.8,10572.24,21742.05,15718.47,6112.5,7583.85,4820.53,21900.19,12362.79,7617.47,7688.67,26587.76,4746.16,1065.67,3907.23,8690.24,2338.98,3988.14,290.76,4743.61,2277.35,648.5,725.9,3045.26;
	    	double[] c7=6969.52,3905.64,10012.11,4230.53,3905.03,8047.26,3620.27,5513.7,9247.66,18598.69,13417.68,5350.17,6554.69,4056.76,18366.87,10587.42,6590.19,6596.1,22557.37,3984.1,918.75,3467.72,7385.1,2005.42,3462.73,248.8,3933.72,1933.98,543.32,612.61,2604.19;
	    	userdata1.put("C1", c1);
	    	userdata1.put("C2", c2);
	    	userdata1.put("C3", c3);
	    	userdata1.put("C4", c4);
	    	userdata1.put("C5", c5);
	    	userdata1.put("C6", c6);
	    	userdata1.put("C7", c7);
	    	userdata2 =new HashMap<String,double []>();
	    	double[] cc1=136.27,159.72,2905.73,641.42,1306.3,1915.57,1277.44,1701.5,124.94,3064.78,1583.04,2015.31,1612.24,1391.07,3973.85,3512.24,2569.3,2768.03,2665.2,2047.23,659.23,844.52,2983.51,726.22,1411.01,74.47,1220.9,678.75,155.08,184.14,1139.03;
	    	double[] cc2=124.36,145.58,2562.81,554.48,1095.28,1631.08,1050.15,1302.9,114.15,2540.1,1360.56,1729.02,1363.67,1206.98,3588.28,3258.09,2147,2325.5,2286.98,1675.06,539.83,685.38,2482.89,625.03,1108.38,68.72,988.45,599.28,134.92,159.29,1078.63;
	    	double[] cc3=118.29,128.85,2207.34,477.59,929.6,1414.9,980.57,1154.33,113.82,2261.86,1163.08,1495.45,1182.74,1098.66,3226.64,2769.05,1795.9,1969.69,2010.27,1458.49,462.19,606.8,2240.61,550.27,1067.6,63.88,789.64,497.05,107.4,127.25,759.74;
	    	double[] cc4=112.83,122.58,2034.59,313.58,907.95,1302.02,916.72,1088.94,111.8,2100.11,1095.96,1418.09,1158.17,1060.38,3002.65,2658.78,1780,1892.4,1973.05,1453.75,436.04,575.4,2216.15,539.19,1020.56,60.62,753.72,462.27,105.57,118.94,691.07;
	    	double[] cc5=101.26,110.19,1804.72,311.97,762.1,1133.42,783.8,915.38,101.84,1816.31,986.02,1200.18,1002.11,905.77,2509.14,2217.66,1378,1626.48,1695.57,1241.35,361.07,482.39,2032,446.38,837.35,54.89,592.63,387.55,83.41,97.89,628.72;
	    	double[] cc6=88.8,103.35,1461.81,276.77,634.94,939.43,672.76,750.14,93.81,1545.05,925.1,1011.03,865.98,786.14,2138.9,1916.74,1140.41,1272.2,1532.17,1032.47,323.48,386.38,1595.48,382.06,724.4,50.9,484.81,334,67.55,79.54,527.8;
	    	double[] cc7=88.68,112.38,1400,262.42,589.56,882.41,625.61,684.6,90.26,1461.51,892.83,966.5,827.36,727.37,1963.51,1892.01,1082.13,1100.65,1428.27,912.5,300.75,463.4,1481.14,368.94,661.69,48.04,435.77,308.06,65.34,72.07,509.99;
	    	userdata2.put("C1", cc1);
	    	userdata2.put("C2", cc2);
	    	userdata2.put("C3", cc3);
	    	userdata2.put("C4", cc4);
	    	userdata2.put("C5", cc5);
	    	userdata2.put("C6", cc6);
	    	userdata2.put("C7", cc7);
	    	userdata3 =new HashMap<String,double []>();
	    	double[] ccc1=2215.41,756.5,746.01,519.32,447.46,755.57,207.65,370.78,2277.4,2600.11,2730.29,503.85,862.41,357.44,1640.41,868.2,674.57,501.09,2916.13,445.37,105.24,704.66,868.15,297.27,456.23,31.7,432.11,145.05,62.56,134.18,288.77;
	    	double[] ccc2=1863.61,572.99,615.42,448.3,346.44,639.27,190.12,304.59,1950.96,2105.92,2326.58,396.17,767.58,241.49,1361.45,697.68,561.27,463.16,2658.76,384.53,78.12,496.56,654.7,231.51,375.08,27.08,384.75,100.54,54.53,97.87,225.2;
	    	double[] ccc3=1603.63,461.2,525.67,361.64,291.1,560.2,180.83,227.54,1804.28,1596.98,1899.33,359.6,612.2,165.1,1044.9,499.92,479.11,402.57,2283.29,336.82,65.73,389.97,524.63,194.44,351.74,23.17,336.21,88.27,45.63,75.54,198.87;
	    	double[] ccc4=1519.19,368.1,420.74,290.91,219.09,455.07,147.24,177.43,1414.21,1298.48,1653.45,313.81,497.65,130.57,880.28,413.83,393.05,334.32,1972.4,249.01,47.33,303.01,411.14,151.55,277.66,22.42,287.16,72.49,36.54,64.8,171.97;
	    	double[] ccc5=1302.77,288.17,347.65,218.73,148.3,386.34,126.03,155.48,1209.08,1054.25,1251.43,223.85,385.84,101.34,734.9,302.31,337.27,260.14,1705.08,190.73,34.43,247.46,359.11,122.25,168.55,11.51,231.03,61.6,27.67,51.05,149.22;
	    	double[] ccc6=982.37,186.87,284.04,169.63,108.21,303.41,100.75,74.17,825.2,653.25,906.37,166.01,243.9,79.75,524.94,219.72,174.99,204.72,899.91,129.14,16.37,213.7,299.5,89.43,143.62,6.44,152.25,50.51,23.69,36.99,99.25;
	    	double[] ccc7=561.91,76.86,179.6,124.1,48.39,137.18,75.45,31.6,485.25,368.86,347.53,81.85,138.28,76.51,310.07,158.77,96.95,92.43,454.65,35.86,10.08,134.52,183.13,41.45,102.39,2.81,67.3,42.08,16.75,21.45,52.18;
	    	userdata3.put("C1", ccc1);
	    	userdata3.put("C2", ccc2);
	    	userdata3.put("C3", ccc3);
	    	userdata3.put("C4", ccc4);
	    	userdata3.put("C5", ccc5);
	    	userdata3.put("C6", ccc6);
	    	userdata3.put("C7", ccc7);
	        return "userInfo";   
	       

jsp

<html>
    <head>
  <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.sql.*"%>
        <script src="lib/echarts.min.js"></script>
        <script src="lib/jquery-3.2.1.min.js"></script>
        <meta name="viewport" content="user-scalable=no,width=device-width,height=device-height">
    </head>
    <body>
        <style>
            html, body, #main 
                width: 100%;
                height: 100%;
            
        </style>
        <div id="main"></div>
        <script>
        var dataneed1;
        var dataneed2;
        var dataneed3;
         $.ajax(   
   url:"jsontest!gainUserInfo.action",   
   type:"POST",   
   async:false,//异步还是同步
   dataType:"json",   
   success:function(data) 
   dataneed1= data.userdata1; 
   dataneed2= data.userdata2; 
   dataneed3= data.userdata3; 
      
  );  
         var chart = echarts.init(document.getElementById('main'));

              var dataMap = ;
function dataFormatter(obj) 
    var pList = ['C1','C2','C3','C4','C5','C6','C7'];
    var temp;
    for (var year = 0; year <= 6; year++) 
        var max = 0;
        var sum = 0;
        temp = obj[pList[year]];
        
        for (var i = 0, l = temp.length; i < l; i++) 
            max = Math.max(max, temp[i]);
            sum += temp[i];
            obj[pList[year]][i] = 
                name : i,
                value : temp[i]
            
        
        obj[pList[year] + 'max'] = Math.floor(max / 100) * 100;
        obj[pList[year] + 'sum'] = sum;
    
    return obj;



//alert(JSON.stringify(dataMap.dataPI));

 dataMap.dataPI = dataFormatter(dataneed1);
dataMap.dataSI = dataFormatter(dataneed2); 
  dataMap.dataTI = dataFormatter(dataneed3);
dataMap.dataWSI = dataFormatter(
    //max : 26600,
    C1:[3752.48,5928.32,13126.86,6635.26,8037.69,12152.15,5611.48,5962.41,7927.89,25203.28,16555.58,8309.38,9069.2,6390.55,24017.11,15427.08,9815.94,9361.99,26447.38,5675.32,714.5,5543.04,11029.13,2194.33,3780.32,208.79,6935.59,2377.83,975.18,1056.15,3225.9],
    C2:[3388.38,4840.23,10707.68,5234,6367.69,9976.82,4506.31,5025.15,7218.32,21753.93,14297.93,6436.62,7522.83,5122.88,21238.49,13226.38,7767.24,7343.19,23014.53,4511.68,571,4359.12,8672.18,1800.06,3223.49,163.92,5446.1,1984.97,744.63,827.91,2592.15],
    C3:[2855.55,3987.84,8959.83,3993.8,5114,7906.34,3541.92,4060.72,6001.78,18566.37,11908.49,4905.22,6005.3,3919.45,18901.83,11010.5,6038.08,5687.19,19419.7,3381.54,443.43,3448.77,6711.87,1476.62,2582.53,136.63,4236.42,1527.24,575.33,662.32,1929.59],
    C4:[2626.41,3709.78,8701.34,4242.36,4376.19,7158.84,3097.12,4319.75,6085.84,16993.34,11567.42,4198.93,5318.44,3554.81,17571.98,10259.99,5082.07,5028.93,18502.2,3037.74,423.55,3057.78,5823.39,1370.03,2452.75,115.56,3861.12,1470.34,557.12,609.98,2070.76],
    C5:[2509.4,2892.53,7201.88,3454.49,3193.67,5544.14,2475.45,3695.58,5571.06,14471.26,10154.25,3370.96,4476.42,2975.53,14647.53,8282.83,4143.06,3977.72,16004.61,2425.29,364.26,2368.53,4648.79,1124.79,2038.39,98.48,2986.46,1279.32,419.03,455.04,1647.55],
    C6:[2191.43,2457.08,6110.43,2755.66,2374.96,4566.83,1915.29,3365.31,4969.95,12282.89,8511.51,2711.18,3695.04,2419.74,12574.03,6724.61,3365.08,3187.05,13469.77,1878.56,308.62,1871.65,3775.14,967.54,1705.83,80.1,2452.44,1043.19,331.91,351.58,1459.3],
    C7:[2026.51,2135.07,5271.57,2357.04,1773.21,3869.4,1580.83,2971.68,4381.2,10524.96,7164.75,2245.9,3175.92,1917.47,10478.62,5514.14,2852.12,2612.57,11356.6,1510.68,240.83,1564,3067.23,821.16,1426.42,63.52,1951.36,838.56,264.61,281.05,1164.79]
   );

dataMap.dataWTI = dataFormatter(
    //max : 25000,
    C1:[12363.18,5219.24,8483.17,3960.87,5015.89,8158.98,3679.91,4918.09,11142.86,20842.21,14180.23,4975.96,6878.74,3921.2,17370.89,7991.72,7247.02,7539.54,24097.7,3998.33,1148.93,3623.81,7014.04,2781.29,3701.79,322.57,4355.81,1963.79,540.18,861.92,2245.12],
    C2:[10600.84,4238.65,7123.77,3412.38,4209.03,6849.37,3111.12,4040.55,9833.51,17131.45,12063.82,4193.69,5850.62,3121.4,14343.14,6607.89,6053.37,6369.27,20711.55,3383.11,953.67,2881.08,6030.41,2177.07,2892.31,274.82,3688.93,1536.5,470.88,702.45,1766.69],
    C3:[9179.19,3405.16,6068.31,2886.92,3696.65,5891.25,2756.26,3371.95,8930.85,13629.07,9918.78,3662.15,5048.49,2637.07,11768.18,5700.91,5127.12,5402.81,18052.59,2919.13,748.59,2474.44,5198.8,1885.79,2519.62,240.85,3143.74,1363.27,398.54,563.74,1587.72],
    C4:[8375.76,2886.65,5276.04,2759.46,3212.06,5207.72,2412.26,2905.68,7872.23,11888.53,8799.31,3234.64,4346.4,2355.86,10358.64,5099.76,4466.85,4633.67,16321.46,2529.51,643.47,2160.48,4561.69,1652.34,2218.81,218.67,2699.74,1234.21,355.93,475,1421.38],
    C5:[7236.15,2250.04,4600.72,2257.99,2467.41,4486.74,2025.44,2493.04,6821.11,9730.91,7613.46,2789.78,3770,1918.95,8620.24,4511.97,3812.34,3835.4,14076.83,2156.76,528.84,1825.21,3881.6,1312.94,1896.78,188.06,2178.2,1037.11,294.91,366.18,1246.89],
    C6:[5837.55,1902.31,3895.36,1846.18,1934.35,3798.26,1687.07,2096.35,5508.48,7914.11,6281.86,2390.29,3022.83,1614.65,7187.26,3721.44,3111.98,3229.42,11585.82,1835.12,433.57,1649.2,3319.62,989.38,1557.91,159.76,1806.36,900.16,249.04,294.78,1058.16],
    C7:[4854.33,1658.19,3340.54,1611.07,1542.26,3295.45,1413.83,1857.42,4776.2,6612.22,5360.1,2137.77,2551.41,1411.92,5924.74,3181.27,2655.94,2882.88,9772.5,1560.92,377.17,1440.32,2836.73,815.32,1374.62,137.24,1546.59,787.36,213.37,259.49,929.41]
   );

dataMap.datWPI = dataFormatter(
    //max : 3600,
    C1:[1074.93,411.46,918.02,224.91,384.76,876.12,238.61,492.1,1019.68,2747.89,1677.13,634.92,911.16,402.51,1838.14,987,634.67,518.04,3321.31,465.68,208.71,396.28,620.62,160.3,222.31,17.44,398.03,134.25,29.05,79.01,176.22],
    C2:[1006.52,377.59,697.79,192,309.25,733.37,212.32,391.89,1002.5,2600.95,1618.17,532.17,679.03,340.56,1622.15,773.23,564.41,464.21,2813.95,405.79,188.33,266.38,558.56,139.64,223.45,14.54,315.95,110.02,25.41,60.53,143.44],
    C3:[1062.47,308.73,612.4,173.31,286.65,605.27,200.14,301.18,1237.56,2025.39,1316.84,497.94,656.61,305.9,1329.59,622.98,546.11,400.11,2470.63,348.98,121.76,229.09,548.14,136.15,205.14,13.28,239.92,101.37,23.05,47.56,115.23],
    C4:[844.59,227.88,513.81,166.04,273.3,500.81,182.7,244.47,939.34,1626.13,1052.03,431.27,506.98,281.96,1104.95,512.42,526.88,340.07,2057.45,282.96,95.6,191.21,453.63,104.81,195.48,15.08,193.27,93.8,19.96,38.85,89.79],
    C5:[821.5,183.44,467.97,134.12,191.01,410.43,153.03,225.81,958.06,1365.71,981.42,366.57,511.5,225.96,953.69,447.44,409.65,301.8,2029.77,239.45,67.19,196.06,376.84,93.19,193.59,13.24,153.98,83.52,16.98,29.49,91.28],
    C6:[658.3,156.64,397.14,117.01,136.5,318.54,131.01,194.7,773.61,1017.91,794.41,281.98,435.22,184.67,786.51,348.7,294.73,254.81,1722.07,192.2,44.45,158.2,336.2,80.24,165.92,11.92,125.2,73.21,15.17,25.53,68.9],
    C7:[493.73,122.67,330.87,106,98.75,256.77,112.29,163.34,715.97,799.73,688.86,231.66,331.8,171.88,664.9,298.19,217.17,215.63,1430.37,165.05,38.2,143.88,286.23,76.38,148.69,10.02,108.62,63.78,14.1,22.97,55.79]
   );
option = 
    baseOption: 
        timeline: 
            // y: 0,
            axisType: 'category',
            // realtime: false,
            // loop: false,
            autoPlay: true,
            // currentIndex: 2,
            playInterval: 1000,
            // controlStyle: 
            //     position: 'left'
            // ,
            data: [
                'C1','C2','C3',
                
                    value: 'C4',
                    symbol: 'diamond',
                    symbolSize: 16
                ,
                'C5', 'C6','C7',
            ],
            label: 
                formatter : function(s) 
                    return  '接口'+s;
                
            
        ,
        title: 
            subtext: '数据来自国家统计局'
        ,
        tooltip: 
        ,
        legend: 
            x: 'right',
            data: ['指标1', '指标2', '指标3','指标4','指标5','指标6']
        ,
        calculable : true,
        grid: 
            top: 80,
            bottom: 100,
            tooltip: 
                trigger: 'axis',
                axisPointer: 
                    type: 'shadow',
                    label: 
                        show: true,
                        formatter: function (params) 
                            return params.value.replace('\\n', '');
                        
                    
                
            
        ,
        xAxis: [
            
                'type':'category',
                'axisLabel':'interval':0,
                name:'日期',
                'data':(function ()
                var res = [];
                var len = 32;
                while (len--) 
                    if(len!=0)  var dd=len;
                    if (len%2==0) 
                        dd='\\n'+len;
                    
                    res.unshift(len);
                  
                      
                return res;
            )(),
                splitLine: show: false,
                
            
        ],
        yAxis: [
            
                type: 'value',
                name: '流量'
            ,
                 
                type: 'value',
                name: '文件数'
            
        ],
        series: [
            name: '指标1', type: 'bar',
            name: '指标4', type: 'bar', yAxisIndex: 1,
            name: '指标2', type: 'bar',
            name: '指标5', type: 'bar', yAxisIndex: 1,
            name: '指标3', type: 'bar',
            name: '指标6', type: 'bar', yAxisIndex: 1
        ]
    ,
    options: [
        
            title: text: 'C1指标',
            series: [
                data: dataMap.dataPI['C1'],
                data: dataMap.datWPI['C1'],
                data: dataMap.dataSI['C1'],
                data: dataMap.dataWSI['C1'],
                data: dataMap.dataTI['C1'],
                data: dataMap.dataWTI['C1']
            ]
        ,
        
             title: text: 'C2指标',
            series: [
                data: dataMap.dataPI['C2'],
                data: dataMap.datWPI['C2'],
                data: dataMap.dataSI['C2'],
                data: dataMap.dataWSI['C2'],
                data: dataMap.dataTI['C2'],
                data: dataMap.dataWTI['C2']
            ]
        ,
        
            title: text: 'C3指标',
            series: [
                data: dataMap.dataPI['C3'],
                data: dataMap.datWPI['C3'],
                data: dataMap.dataSI['C3'],
                data: dataMap.dataWSI['C3'],
                data: dataMap.dataTI['C3'],
                data: dataMap.dataWTI['C3']
            ]
        ,
        
            title: text: 'C4指标',
            series: [
                data: dataMap.dataPI['C4'],
                data: dataMap.datWPI['C4'],
                data: dataMap.dataSI['C4'],
                data: dataMap.dataWSI['C4'],
                data: dataMap.dataTI['C4'],
                data: dataMap.dataWTI['C4']
            ]
        ,
        
            title: text: 'C5指标',
            series: [
                data: dataMap.dataPI['C5'],
                data: dataMap.datWPI['C5'],
                data: dataMap.dataSI['C5'],
                data: dataMap.dataWSI['C5'],
                data: dataMap.dataTI['C5'],
                data: dataMap.dataWTI['C5']
            ]
        ,
        
            title: text: 'C6指标',
            series: [
                data: dataMap.dataPI['C6'],
                data: dataMap.datWPI['C6'],
                data: dataMap.dataSI['C6'],
                data: dataMap.dataWSI['C6'],
                data: dataMap.dataTI['C6'],
                data: dataMap.dataWTI['C6']
            ]
        ,
        
            title: text: 'C7指标',
            series: [
                data: dataMap.dataPI['C7'],
                data: dataMap.datWPI['C7'],
                data: dataMap.dataSI['C7'],
                data: dataMap.dataWSI['C7'],
                data: dataMap.dataTI['C7'],
                data: dataMap.dataWTI['C7']
            ]
        

    ]
;
                chart.setOption(option);


        </script>
    </body>
</html>

源码在这:http://download.csdn.net/download/yiduiguwen/10251658

欢迎下载。


struts2怎样获取ajaxpost请求传递的数据

我需要从页面传递一个对象数组,不知道struts2怎样获取这个数组?而且这个数组对象需要转换成一个List对象,提示Ognl无法转换的错误。。。从页面传对象到ActionAction用List接收,这样肯定是可以的,只要你的参数名字相同就行... 查看详情

如何使用 Struts2 框架向 Dojo 树提供 JSON 数据

】如何使用Struts2框架向Dojo树提供JSON数据【英文标题】:HowtoprovideJSONdatatoDojotreeusingStruts2framework【发布时间】:2011-03-2215:54:17【问题描述】:我目前正在使用Struts2框架开发一个Web应用程序。此应用程序需要根据从另一个应用程... 查看详情

ssm将后台获取的数据转换成json格式传递到前台页面

1、后台从数据库中获取数据,传递到response中这一步折腾了我一整天,不知道是因为没有传递到response中还是其他的原因,在前台获取的data,使用alert(data)输出的一直为空值或null有两种方式可以实现这一步。一是利用注解@Response... 查看详情

struts2后台返回json到jsp页面

1、在action定义一个全局变量如:privateMap<String,Object>dataMap;2、控制层方法    说明:主要的目的是把我们定义的Map转为Json对象,然后输出到前台   publicStringvaliDateCode(){     &n 查看详情

struts2中通过ajax传递json数据

1、导入Struts2所需要的jar包下载Struts2的jar包时,可以下载struts-2.5.13-min-lib.zip,然后放到项目的/WebContent/WEB-INF/lib路径下struts-2.5.13-min-lib只包含以下jar包:   commons-fileupload-1.3.3.jar  commons-io-2.5.jar  commons-lang3-3. 查看详情

java框架struts2前台页面如何封装好一个map传递给后台接收呢?

...好的传参机制不要,而是特立独行的话,那就只能去修改struts2用于传参的拦截器,去修改它的规则,自定义一个传参方式,否则还真没什么别的办法为什么要舍近求远呢? 参考技术B=。=!~虽然不知道你在玩什么但是看起来很神... 查看详情

struts2+easyui+hibernate小实例

概述  这个实例主要是前台数据到后台数据的传递和后台数据到前台数据的传递,完成数据的新增,以及对新增数据的展示。下面是详细的过程:Hibernate(数据库部分)  这里只是数据库的连接和数据库实体与物理表的映射... 查看详情

struts2框架-----action

 控制器ActionAction对象是struts2框架的核心,每个URL映射到特定的Action,其提供处理来自用户的请求所需要的处理逻辑。Action有两个重要的功能,即将数据从请求传递到视图和协助框架确定哪个结果应该是呈现在响应请求中的... 查看详情

jqueryajax传递json数组到springcontroller

    jQueryajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java后台,并说明java如何解析JSON数组。   1、js代码 varrelationArrays=newArray(); //获取所有组的人员信息grid数... 查看详情

extjs4表单提交传递json格式到后台

...params:'tid':tid),url是查询的action,可是用post传值只能传递字符串,怎么弄成json格式呢?求大神告知!!急急急!!!!!!!!!!参考技术A可以传json格式的字符串到后台,然后用JSONObjectjson=newJSONObject(传来的字符串);json... 查看详情

js传递数组到后台

方法一: 1.使用JSON.stringify将数组对象转化成json字符串;vararray=["1","2"];$.ajax({type:‘POST‘,url:path+‘/check/testPost‘,contentType:"application/json",data:JSON.stringify(array),success:function(data){}});  查看详情

ajax传递json对象数组到后台

javascript代码$.ajax(type:"POST",traditional:true,contentType:'application/json;charset=UTF-8',url:ctx+'/work/day/add',data:jsonStr,dataType:"json",success:functi 查看详情

《java从入门到放弃》入门篇:struts2的基本数据传递方式

...下,你就会发现·······真的可以少写两句代码!!!struts2中常用的两种数据传递方式如下:属性匹配方式ModelDriven接口匹配方式(常用于自定义类型)个人比较喜欢使用第一种,为什么呢?因为············懒~~~~~。接下来... 查看详情

struts2的自动封装注入(代码片段)

我们在使用struts2进行从前台到后台的数据传递时(当然这里是在结合了form表单的情况下),我们通常会给input框中的name属性赋值,然后在后台action中提供setter/getter方法就可以完成数据的传递(在jquery中使用aj... 查看详情

关于json和字符串之间的转换

  在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用request进行接收。有时传递了几个数... 查看详情

java前端传递二维数组参数struts2action如何接收

ajaxpost提交数据[Objectcode="3",name="fds",price="222",Objectcode="3",name="fdsfd",price="223"]表单提交后传递参数变成如下形式POST协议中的参数格式json[0][code] 3json[0][name] fdsjson[0][price] 222json[1][code] 3jso... 查看详情

struts2在action中获取requestsessionapplication,并传递数据

假设仅仅是通过request、session、application传递数据,则不须要获取对应的对象也能够传递数据,代码例如以下:ScopeAction.java:packagecom.itheima.action;importcom.opensymphony.xwork2.ActionContext;publicclassScopeAction{ publicStringexecute(){ 查看详情

通过 JSON 将数据从 handsontable 检索到 Struts2 Action 不起作用

】通过JSON将数据从handsontable检索到Struts2Action不起作用【英文标题】:RetrievedatafromhandsontabletoStruts2ActionviaJSONnotworking【发布时间】:2013-05-1613:31:35【问题描述】:我正在使用struts2-json插件生成JSON数据和Ajax以使用来自该JSON(according... 查看详情