关于SSM与echart结合的问题总结

时间:2024-04-05 15:48:19
这是我用ssm框架和echart图实现的效果:
关于SSM与echart结合的问题总结


以下是我遇到的问题和解决办法
1.映射文件的配置(XXMapper.xml):
关于SSM与echart结合的问题总结
2.css,js的问题:
关于SSM与echart结合的问题总结

3.css,js地址的配置
关于SSM与echart结合的问题总结
4.ajax的同步异步问题
关于SSM与echart结合的问题总结
5.springMvc控制层的相关配置和访问页面的控制
关于SSM与echart结合的问题总结
6.存储echart图数据的数据结构:
关于SSM与echart结合的问题总结
7.这是echart图的jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
    <base href="<%=basePath%>">
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="js/echarts.js"></script>
    <script src="js/jquery-3.2.1.min.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
      
       
           var colors = ['#5793f3', '#d14a61', '#675bba'];
           var area="";
           var loan="";
           var asset="";
           var rate="";
            $.ajax({
            url:"<%=basePath%>showechart",
            type:"post",
            data:{"data_Time":"201706"},
            dataType:"json",
            async:false,
            success:function(data){
                area = data.modelMap.area;//横坐标名(宁德市分行。。。。。。)
                loan = data.modelMap.loan;//货款余额
                asset = data.modelMap.asset;//资产余额
                rate = data.modelMap.rate;//归行率
            },
            error:function(data){
               alert("error");
            }
           
          });
         
         
        var arr1 = loan;
           var arr2 = asset;
           var arr3 = rate;
           var loanMax =  eval("Math.max(" + loan.toString() + ")");
           var assetMax =  eval("Math.max(" + asset.toString() + ")");
           var rateMax =  eval("Math.max(" + rate.toString() + ")");
           option = {
               title: {
                     text: '图例',
                     x:'center',
                     y:'top'
                },
                color: colors,
                tooltip: {
                     trigger: 'axis',
                     axisPointer: {type: 'cross'}
                },
                grid: {
                    top: '20%',
                     right: '20%'
                },
                toolbox: {
                     feature: {
                           dataView: {show: true, readOnly: false},
                           restore: {show: true},
                           saveAsImage: {show: true}
                     }
                },
                legend: {
                     data:['归行率','货款余额','资产余额'],
                     y:'8%'
                },
                xAxis: [
                     {
                           type: 'category',
                           axisTick: {
                                alignWithLabel: true
                           },
                           data: area,
                           axisLabel:{
                                 interval:0,
                                rotate:60,
                           }
                     }
                ],
                yAxis: [
                     {
                           type: 'value',
                           name: '归行率',
                           min: 0,
                           max: rateMax,
                           position: 'right',
                           offset: 60,
                           axisLine: {
                                lineStyle: {
                                     color: colors[2]
                                }
                           },
                           axisLabel: {
                                formatter: '{value} %'
                           }
                     },
                     {
                           type: 'value',
                           name: '资产余额',
                           min: 0,
                           max: assetMax,
                           position: 'right',
                           axisLine: {
                                lineStyle: {
                                     color: colors[1]
                                }
                           },
                           axisLabel: {
                                formatter: '{value} '
                           }
                     },
                     {
                           type: 'value',
                           name: '货款余额',
                           min: 0,
                           max: loanMax,
                           position: 'left',
                           axisLine: {
                                lineStyle: {
                                     color: colors[0]
                                }
                           },
                           axisLabel: {
                                formatter: '{value} '
                           }
                     }
                ],
                series: [
                    {
                           name:'贷款余额',
                           type:'bar',
                           yAxisIndex: 2,
                           data: arr1
                     },
                
                     {
                           name:'资产余额',
                           type:'bar',
                           yAxisIndex: 1,
                           data:arr2
                     },
                     {
                           name:'归行率',
                           type:'line',
                           yAxisIndex: 0,
                           data:arr3
                     }
                ]
           };
         // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>
</body>
</html>