1.将数据存储在mysql数据库中
2.后端链接数据库,将数据库中的数据保存为json格式
3.将json格式数据使用ajax传到前端JSP页面中的Echarts
1.导入必要的包 echart.js(或者是echart.min.js包等等)、jquery.min.js
<script src="js/echarts.js"></script> <script src="js/jquery.min.js"></script>
2.将mysql数据保存为json数据,在Servlet中
barDao bardao = new barDao(); ArrayList<barBean> list = bardao.select_all(); JSONArray json=new JSONArray(); for(int i=0;i<list.size();i++) { JSONObject ob=new JSONObject(); ob.put("title", list.get(i).getName()); ob.put("zuozhe", list.get(i).getNum()); json.add(ob); System.out.println("json数据转换成功"); } System.out.println(json); response.setContentType("text/html; charset=utf-8"); response.getWriter().write(json.toString()); //将json数据返回给客户端
3.用ajax与Servlet将json数据传回客户端,也就是前端页面
1.网页其他部分正常显示,但<script>标签里的Echarts表格显示不出来
如图:
原因:未导入echart.js包
解决方式:下载echart.js包,在webapp下新建js文件夹,将下载好的echart.js文件复制到js文件夹里面。然后在<head>中添加<script>标签进行引入
<head> <meta charset="utf-8"> <title>第一个 ECharts 实例</title> <!-- 引入 echarts.js --> <%-- <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>--%> <script src="js/echarts.js"></script> <script src="js/jquery.min.js"></script> </head>
2.Echarts表格正常显示,但是没有数据 如图:
可能错误原因:数据从mysql导入失败或者数据转化为json格式失败、数据传入前端页面失败
我遇到的原因:将mysql数据库中的数据转换为json格式的数据名与JSP页面中ajax使用的数据名不一致
Servlet中两个数据名为: “title”,“zuozhe”
ArrayList<barBean> list = bardao.select_all(); JSONArray json=new JSONArray(); for(int i=0;i<list.size();i++) { JSONObject ob=new JSONObject(); ob.put("title", list.get(i).getName()); ob.put("zuozhe", list.get(i).getNum()); json.add(ob); System.out.println("json数据转换成功"); } System.out.println(json);
而前端JSP页面中为:“name”,“num”
for(var i=0;i<result.length;i++){ names.push(result[i].name); } for(var i=0;i<result.length;i++){ nums.push(result[i].num); }
解决方法:将两处的名称修改一致