这是我用ssm框架和echart图实现的效果:
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQyNi8xNzI0NjNhYTg0ZTA4NjM0NDgwYzM1MmJkYjlhM2E1YS5wbmc%3D.png?w=700&webp=1)
以下是我遇到的问题和解决办法
1.映射文件的配置(XXMapper.xml):
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM3My9kYzQ4OGNiYTRhNDdlNzU3OGIwN2Y3YTFiNDFiZDE3NS5wbmc%3D.png?w=700&webp=1)
2.css,js的问题:
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzUzNi8xODA3NTkzZGMwYmY4MGFkOGYzMDY3MmJkMjIzMzJiOC5wbmc%3D.png?w=700&webp=1)
3.css,js地址的配置
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIxMi8wNjZiMDUxMjY3NjQ3MTk4MzhiYWQxMmEzMTgzMzYyNC5wbmc%3D.png?w=700&webp=1)
4.ajax的同步异步问题
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkyNC9hNmY0MDM2MTBlMmYxMzYxNmM0NzFiMmM2MGYxNmMwYy5wbmc%3D.png?w=700&webp=1)
5.springMvc控制层的相关配置和访问页面的控制
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkwOS8xZjVmZTkxZGFiZWIxMTkwOWY1ZDUxNTA1MzMwYzMyZC5wbmc%3D.png?w=700&webp=1)
6.存储echart图数据的数据结构:
![关于SSM与echart结合的问题总结 关于SSM与echart结合的问题总结](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQyNS9jYTBiNTUyMTRjNTBjNDE2NzBjNGFjNTUwZTBiMjg0MS5wbmc%3D.png?w=700&webp=1)
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>