




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Echarts(3.x版)官网实例的数据都是静态的,实际使用中往往会要求从服务器端取数据进行动态显示,官网教程里给出的异步数据加载很粗略,下面就以官网最简单的实例为例子,详细演示如下过程:1.客户端通过ajax发送请求;2.服务器端Servlet接收请求;3.生成json数据并返回给客户端;4.客户端接收数据后显示。1.客户端通过ajax发送请求先绘制一个最简单的Echarts图表:(这里就直接贴上代码了,直接用的是官网教程里异步数据加载和更新里的代码) ECharts var myChart = echarts.init(document.getElementById(main); / 显示标题,图例和空的坐标轴 myChart.setOption( title: text: 异步数据加载示例 , tooltip: , legend: data:销量 , xAxis: data: , yAxis: , series: name: 销量, type: bar, data: ); 看到了吧,现在option中的xAxis和yAxis里的data都是空值。待会儿我们会用从服务器取回的数据去”填满“它。下面贴上补充了ajax部分的完整前端代码: ECharts var myChart = echarts.init(document.getElementById(main); / 显示标题,图例和空的坐标轴 myChart.setOption( title: text: 异步数据加载示例 , tooltip: , legend: data:销量 , xAxis: data: , yAxis: , series: name: 销量, type: bar, data: ); myChart.showLoading(); /数据加载完之前先显示一段简单的loading动画 var names=; /类别数组(实际用来盛放X轴坐标值) var nums=; /销量数组(实际用来盛放Y坐标值) $.ajax( type : post, async : true, /异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行) url : TestServlet, /请求发送到TestServlet处 data : , dataType : json, /返回数据形式为json success : function(result) /请求成功时执行该函数内容,result即为服务器返回的json对象 if (result) for(var i=0;iresult.length;i+) names.push(); /挨个取出类别并填入类别数组 for(var i=0;iresult.length;i+) nums.push(resulti.num); /挨个取出销量并填入销量数组 myChart.hideLoading(); /隐藏加载动画 myChart.setOption( /加载数据图表 xAxis: data: names , series: / 根据名字对应到相应的系列 name: 销量, data: nums ); , error : function(errorMsg) /请求失败时执行该函数 alert(图表请求数据失败!); myChart.hideLoading(); ) 2.服务器端Servlet接收请求客户端的请求url是TestServlet,那我们得先在web.xml配置以下映射: TestServlet test.TestServlet TestServlet /TestServlet 然后就来着手写处理客户端请求的TestServlet啦!3.生成json数据并返回给客户端生成Json数据要用到额外的jar包,这里我使用的jackson,json-lib 2010年就没有再更新了 (2016-5-3日更:发现Google出品的Gson也蛮好用的,重点是很小巧,只需引入一个jar就搞定,用法也很简单)简单介绍一下jackson的用法:先去/下载 jackson-core.jar,jackson-annotations.jar,jackson-databind.jar(都是2.x版本,jackson官网不知为何不提供服务了这三个jar让我一阵好找):在项目的项目WEB-INF/lib下引入这三个jar然后就可以在TestServlet里使用jackson提供的工具类了。(关于jackson的详细用法,这里贴一下官网教程:/JacksonInFiveMinutes)TestServlet代码如下:package test;import java.io.IOException;import java.util.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.fasterxml.jackson.databind.ObjectMapper;public class TestServlet extends HttpServlet Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException doPost(req,resp); Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException List list = new ArrayList(); /这里把“类别名称”和“销量”作为两个属性封装在一个Product类里,每个Product类的对象都可以看作是一个类别(X轴坐标值)与销量(Y轴坐标值)的集合 list.add(new Product(衬衣, 10); list.add(new Product(短袖, 20); list.add(new Product(大衣, 30); ObjectMapper mapper = new ObjectMapper(); /提供java-json相互转换功能的类 String json = mapper.writeValueAsString(list); /将list中的对象转换为Json格式的数组 /System.out.println(json); /将json数据返回给客户端 response.setContentType(text/html; charset=utf-8); response.getWriter().write(json); TestServlet类中用到的自定义的Product类代码如下:package test;public class Product private String name; /类别名称 private int num; /销量 public Product(String name, int num) = name; this.num = num; public String getName() return na
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蒲公英养护知识培训课件
- 葡萄酒软木塞知识培训课件
- 项数加法类型题目及答案
- 曹县一中模拟考试题目及答案
- 沧州医院入职考试题目及答案
- 2025高考物理试题分类汇编:曲线运动含解析
- 2025年北京市购房合同
- 2025-2026学年人教版六年级数学上册第三单元分数除法应用题练习【含答案】
- 2025版本的房屋租赁合同
- 营销基本知识培训课件
- 软件系统技术报告模板
- 抖音员工号认证在职证明模板(7篇)
- DB11 1488-2018 餐饮业大气污染物排放标准
- 04S520埋地塑料排水管道施工标准图集
- 变电站工程施工三措
- 2023年苏教版小学四年级上册综合实践活动教案全册
- 中职机械专业《变压器》单元测试题
- 2024风电场在役叶片维修全过程质量控制技术要求
- 2024年首届全国“红旗杯”班组长大赛考试题库1400题(含答案)
- 《中国噬血细胞综合征诊断与治疗指南(2022年版)》解读
- 湖南省建筑工程定额
评论
0/150
提交评论