EChart报表插件使用笔记(1)

报表插件Echart

java类

package com.spring.controller;

import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class EchartController {

	/**
	 * 静态的Echart报表页面
	 */
	@RequestMapping(value="user/echart", method = {RequestMethod.POST,RequestMethod.GET})
	public ModelAndView PostJsonTest(HttpServletRequest request,HttpServletResponse response) throws IOException{
		ModelAndView mav=new ModelAndView();
		mav.addObject("time", new Date());
		mav.setViewName("echart/echart");
		return mav;
	}

	/**
	 * 动态的Echart报表页面
	 */
	@RequestMapping(value="user/echart2", method = {RequestMethod.POST,RequestMethod.GET})
	public ModelAndView dynamicEchart(HttpServletRequest request,HttpServletResponse response) throws IOException{
		ModelAndView mav=new ModelAndView();
		String str[]={"衬衫2","羊毛衫2","雪纺衫2","裤子2","高跟鞋2","袜子2","nickname"};
		float bar[]={15, 28, 41, 45, 56, 120, 89};

		List<String> category=Arrays.asList(str);//将数组转换成为list
		mav.addObject("time", new Date());
		mav.addObject("listData", category);//list
		mav.addObject("array", str);//数组

		mav.addObject("jsonArray", JSONArray.fromObject(str));//转换为json数组
		mav.addObject("jsonList", JSONArray.fromObject(category));//转换为json数组
		mav.addObject("jsonInt", JSONArray.fromObject(bar));//转换为json数组
		mav.setViewName("echart/dynamicEchart");
		return mav;
	}

}

静态页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'echart.jsp' starting page</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

	<script type="text/javascript" src="<%=basePath%>resources/echart/esl.js"></script>

  </head>

  <body>
    	<div id="main" style="height:400px"></div>

	    <script type="text/javascript">
	        // 路径配置
	        require.config({
	            paths:{
	                'echarts' : 'resources/echart/echarts',
	                'echarts/chart/bar' : 'resources/echart/echarts'
	            }
	        });

	        // 使用
	        require(
	            [
	                'echarts',
	                'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
	            ],
	            function (ec) {
	                // 基于准备好的dom,初始化echarts图表
	                var myChart = ec.init(document.getElementById('main')); 

	                var option = {
	                    tooltip: {
	                        show: true
	                    },
	                    legend: {
	                        data:['销量']
	                    },
	                    xAxis : [
	                        {
	                            type : 'category',
	                            data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
	                        }
	                    ],
	                    yAxis : [
	                        {
	                            type : 'value'
	                        }
	                    ],
	                    series : [
	                        {
	                            "name":"销量",
	                            "type":"bar",
	                            "data":[5, 20, 40, 10, 10, 20]
	                        }
	                    ]
	                };

	                // 为echarts对象加载数据
	                myChart.setOption(option);
	            }
	        );
	    </script>
  </body>
</html>

动态页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'dynamicEchart.jsp' starting page</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
<script src="<%=basePath%>js/jquery.min.js"></script>
<script type="text/javascript" src="<%=basePath%>resources/echart/esl.js"></script>
  </head>

  <body>
        	<div id="main" style="height:400px"></div>
            <input type="text" id="array" class="array" value="${array}" >
            <input type="text" id="listData" class="listData" value="${listData}" >
            <input type="text" id="jsonArray" class="jsonArray" value="${jsonArray}" >
            <input type="text" id="jsonList" class="jsonList" value="${jsonList}" >

	    <script type="text/javascript">
	        // 路径配置
	        require.config({
	            paths:{
	                'echarts' : 'resources/echart/echarts',
	                'echarts/chart/bar' : 'resources/echart/echarts'
	            }
	        });

	        // 使用
	        require(
	            [
	                'echarts',
	                'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
	            ],
	            function (ec) {
	                // 基于准备好的dom,初始化echarts图表
	                var myChart = ec.init(document.getElementById('main')); 

	                var jsonList=${jsonList};//接收后台传过来的json数组
	                alert(jsonList);
	                var jsona=${jsonArray};//接收后台传过来的json数组
	                alert(jsona);

	                var jsonInt=${jsonInt};//接收后台传过来的json数组
	                alert(jsonInt);
	                //便利json数组
	              /*   $.each(json,function(n,value) {
	                	alert(value)
	                }); */

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

	                // 为echarts对象加载数据
	                myChart.setOption(option);
	            }
	        );
	    </script>
  </body>
</html>

运行效果图:

EChart报表插件使用笔记(1),布布扣,bubuko.com

时间: 2024-12-29 12:46:53

EChart报表插件使用笔记(1)的相关文章

echart报表插件使用笔记(二)--按月统计

按月统计注冊人数 java类: package com.spring.controller; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayLi

ionic3引用外部插件--百度地图及echart报表的使用

前言 ionic3提供的组件已经相当丰富咯,但是事实上有些特殊的需求,比如使用百度地图,或者第三方插件echart报表插件是,就不能用传统的方式去使用第三方插件咯,如何在Ionic3项目中使用第三方JavaScript库?.其实特别简单啦,跟着我步伐前进吧. 使用步骤如下 环境安装 1, 安装ChartJs库 cd /项目的根目录下 npm install chart.js --save 2, 全局安装typings npm install -g typings 3.找到自己的项目新建一个dec

jQuery插件学习笔记

最近在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心模块增加自己的方法和额外的功能.通过这种机制,Jquery允许我们自己创建属于我们自己的插件,提高我们在开发过程中的效率. 虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名.但是仍然不可避免某些函数或变量名将于其他jQuery插件冲突,因此我们习

为知笔记 | [插件]发布笔记到博客,更好的博客离线撰写工具

23 二 1 --> [插件]发布笔记到博客,更好的博客离线撰写工具 2011-02-23 功能特性 为知笔记支持绝大部分的博客离线撰写,可以方便地把笔记直接发布为博客. 使用 打开您已经在Wiz的撰写好的文章,然后点击“分享”按钮-发布到博客,如下图: 选择“发布到博客”,出现如下对话框: API地址:就是博客离线撰写发布的API地址,通常每一个博客的API地址都不相同,您可以从博客的帮助里面获得.下面是常用的一些博客API地址:  常用博客 API地址 新浪博客 http://upload.

MyBean通用报表插件介绍

特性: 1.基于MyBean插件平台.可以在任何插件中无缝调用显示. 2.其他窗体中无需引用报表控件.就可以拥有报表的设计预览打印等功能. 3.甚至可以不用带包,制作报表插件,也就是说你可以将RM的报表插件直接提供给XE7甚至任何一个版本的插件调用. 4.报表可以自由的设计,预览,导出,导入用户设定默认报表(可以直接预览,打印, 设计不用显示报表控制台). 5.可以支持多种报表模式,FastReport 3.0, FastReport4.0, ReporterMachine 6.5,当然可以继续

jquery报表插件收藏 MARK

Highcharts http://www.hcharts.cn/ 统计报表插件 jquery ui官网 http://jqueryui.com/selectmenu/#custom_render

highcharts报表插件之expoting参数的使用

exporting 参数配置 本文转载自:http://blog.csdn.net/myjlvzlp/article/details/8531275 说明:导出及打印选项 打印导出功能的配置项. 1.buttons:打印和导出按钮设置.其中两个按钮中又有很多样式的设置,具体如下: (1)exportButton:导出按钮样式 (1)hoverSymbolFill:鼠标移上去改变按钮箭头的颜色,String型,默认值为#768F3E. (2)onclick:点击报表导出按钮事件一般和menuIte

JQ 报表插件 jquery.jqplot 使用

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>显示报表</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- jquery --> &

在开发过程中调试报表插件详细教程

背景说明 目前插件开发调试非常麻烦,需要修改代码,编译出class,重新打插件包.然后删除以前的,安装最新的.过程繁杂,而且不能调试,十分不方便.那么我就来教会大家如何可以调试插件. 需要工具:eclipse,finereport报表工具 具体说明 1. 新建工程 新建java工程,在此不赘述 2. 添加依赖,启动设计器 若要能启动设计器需要依赖的jar包很多.具体如下: A. jetty相关的jar包 B. 设计器相关的jar包 C. 其他相关的jar包 选中如图所示jar包 3. 添加mai