ECharts Java 动态加载数据

1、前台JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>ECharts</title>
	<script type="text/javascript" src="${ctx}/plugins/echarts-2.2.1/echarts.js"></script>
	<script type="text/javascript" src="${ctx}/plugins/jquery-1.8.3/jquery-1.8.3.min.js"></script>
	<script type="text/javascript">
		// 配置路径
		require.config({
			paths: {
				echarts: '${ctx}/plugins/echarts-2.2.1'
			}
		});

		// 按需加载
		require(
			[
			 	'echarts',
			 	'echarts/chart/bar',
			 	'echarts/chart/line'
			],
			function (ec) {
				var chart = document.getElementById('chart');
				var echart = ec.init(chart);

				echart.showLoading({
					text: '正在努力加载中...'
				});

				var categories = [];
				var values = [];

				// 同步执行
				$.ajaxSettings.async = false;

				// 加载数据
				$.getJSON('${ctx}/dataAccessServlet', function (json) {
					categories = json.categories;
					values = json.values;
				});

				var option = {
					tooltip: {
						show: true
					},
					legend: {
						data: ['销量']
					},
					xAxis: [
					    {
					    	type: 'category',
					    	data: categories
					    }
					],
					yAxis: [
					    {
					    	type: 'value'
					    }
					],
					series: [
					    {
					    	'name': '销量',
					    	'type': 'bar',
					    	'data': values
					    }
					]
				};

				echart.setOption(option);
				echart.hideLoading();
			}
		);
	</script>
</head>
<body>
	<div id="chart" style="width: 580px;height: 420px;margin: 0 auto;border: 1px solid gray;"></div>
</body>
</html>

2、后台JSON数据

protected void doPost(HttpServletRequest request,
		HttpServletResponse response) throws ServletException, IOException {
	String[] categories = {"鞋", "衬衫", "外套", "牛仔裤"};
	Integer[] values = {80, 50, 75, 100};
	Map<String, Object> json = new HashMap<String, Object>();
	json.put("categories", categories);
	json.put("values", values);
	JsonUtils.writeJson(json, request, response);
}

3、最终实现效果

ECharts首页:http://echarts.baidu.com/

ECharts Java 类库:http://git.oschina.net/free/ECharts

时间: 2024-10-07 01:39:45

ECharts Java 动态加载数据的相关文章

Echarts ajax动态加载json数据

后台php写的,给前台准备好json格式数据 public function actionGetOffline(){ $userid = Yii::$app->user->identity->user_id; $connection = Yii::$app->db; $command = $connection->createCommand("SELECT proc_phase_id from tb_pro where user_id like '%$userid%

android左右滑动加载分页以及动态加载数据

android UI 往右滑动,滑动到最后一页就自动加载数据并显示 如图: Java代码 package cn.anycall.ju; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.content.ActivityNotFoundException; impo

[JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空间,到底部时,会动态加载剩余的说说或者是日志 今天我们就来看看他们的实现思路和js控制动态加载的代码 下面的代码主要是控制滚动条下拉时的加载事件的 在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据  都可以 别忘了引用jquery类库 [JavaScript] 纯文本查看 复制代码

java动态加载指定的类或者jar包反射调用其方法

序言 有时候,项目中会用到java动态加载指定的类或者jar包反射调用其方法来达到模块的分离,使各个功能之间耦合性大大降低,更加的模块化,代码利用率更高.模式中的代理模式就用到java的这一机制.下边就让我们通过代码来看看如何实现此功能. 代码详细 package loadjarclass; import java.io.File; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoad

ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)

ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)

ASP.NET MVC动态加载数据

ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分: <table> <tr> <th style="width:10px;"><input id="SelectAll" type="checkbox" /></th> <th>ID</th> <th>Port_Start&l

滚屏加载--无刷新动态加载数据技术的应用

index.html <?php require_once('connect.php'); //连接数据库 $user = array('demo1','demo2','demo3','demo3','<de></de>mo4'); //模拟了几个用户 ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm

避免缓存,Java动态加载配置文件

Java动态加载配置文件 关键:每次读取都要重新生成流 今天无意间在项目的代码中看到如下这样一段简单加载配置文件的代码: Properties prop = new Properties(); InputStream in = PropertiesTest.class.getClassLoader().getResourceAsStream("/config.properties"); prop.load(in); 其实代码本身是没有什么问题的 问题就是用这种方式来读取配置文件,会存在

C# checklistbox控件用法总结(怎样得到多选的值,以及动态加载数据)

C# checklistbox控件用法总结(怎样得到多选的值,以及动态加载数据) 一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值. 其实这里遍历的只是高亮的值并不是打勾的值.遍历打勾的值要用下面的代码: for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.GetItemChecked(i)) { MessageB