Struts2+json+hignchart(简单柱状图实现--适合jquery小白)

做了一个简单的基于Struts2 + Json + HighChart的小例子,费了一下午+晚上的时间,虽然简单,但对于我这种Jquery+Ajax小白的人还是很值得记录的。

哈哈哈

# 0. 关键点找到highchart的模板网站
https://www.hcharts.cn/docs/basic-tooltip

# 1. 关键点,在struts.xml中配置返回类型为json

<action name="queryItemsJson" class="com.bestplan.action.JsonAction" method="jsonTest">

<result type="json">

<param name="root">dataMap</param>

</result>

# 2. 关键点2

public class JsonAction {
private Map<String, Object> dataMap;
public String jsonTest(){
 
dataMap = new HashMap<String,Object>();
dataMap.clear();
List<List<Float>> aveTimeForCpsWay = new ArrayList<List<Float>>();
for(int x=0;x<4;x++){
List<Float> temp = new ArrayList<Float>();
for(int i=0;i<12;i++){
temp.add((new Random().nextFloat())*100); // 随机产生12个float数
}
aveTimeForCpsWay.add(temp);
}

List<String> name = new ArrayList<String>();
name.add("Tokyo");
name.add("New York");
name.add("London");
name.add("Berlin");

dataMap.put("dataArr", aveTimeForCpsWay);
dataMap.put("nameArr", name);

return "success";
}

public Map<String, Object> getDataMap() {
return dataMap;
}

public void setDataMap(Map<String, Object> dataMap) {
this.dataMap = dataMap;
}

}

# 3. 关键点
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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>Insert title here</title>
<script src="js/jquery.1.9.1.min.js"></script>
<script src="js/highcharts.js"></script>
<script type="text/javascript">
function requestJson(){
    alert("nihao");
    $.ajax({
        type:‘GET‘,
        url:‘queryItemsJson.action‘,
        contentType:‘application/json;charset=utf-8‘,
        //数据格式是json串
        dataType:"html", //接受响应的数据类型
        success:function(data){//返回json结果
            alert(data);
            var d = eval("("+data+")");
        var chart = new Highcharts.Chart({
            chart: {
                renderTo:‘container‘,
                type: ‘column‘
            },
            title: {
                text: ‘Monthly Average Rainfall‘
            },
            subtitle: {
                text: ‘Source: WorldClimate.com‘
            },
            xAxis: {
                categories: [
                    ‘Jan‘,
                    ‘Feb‘,
                    ‘Mar‘,
                    ‘Apr‘,
                    ‘May‘,
                    ‘Jun‘,
                    ‘Jul‘,
                    ‘Aug‘,
                    ‘Sep‘,
                    ‘Oct‘,
                    ‘Nov‘,
                    ‘Dec‘
                ],
                crosshair: true
            },
            yAxis: {
                min: 0,
                title: {
                    text: ‘Rainfall (mm)‘
                }
            },
            tooltip: {
                headerFormat: ‘<span style="font-size:10px">{point.key}</span><table>‘,
                pointFormat: ‘<tr><td style="color:{series.color};padding:0">{series.name}: </td>‘ +
                ‘<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>‘,
                footerFormat: ‘</table>‘,
                shared: true,
                useHTML: true
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
            series: [{
                name: d.nameArr[0],
                data: d.dataArr[0]
            }, {
                name: d.nameArr[1],
                data: d.dataArr[1]
            }, {
                name: d.nameArr[2],
                data: d.dataArr[2]
            }, {
                name: d.nameArr[3],
                data: d.dataArr[3]
            }]
        });

        }
        }
);
}
</script>
</head>
<body>
<input type="button" onclick="requestJson()" value="请求是json,输出是json"><div id="mydiv"></div>
  <div id="container" style="min-width:400px;height:400px"></div>
</body>
</body>
</html>

效果图

时间: 2024-10-14 08:35:35

Struts2+json+hignchart(简单柱状图实现--适合jquery小白)的相关文章

如何在GNS3中使用交换机让两台PC端互联互通(简单实验,适合新手小白)

原文地址:https://blog.51cto.com/14449541/2426172

struts2+json+jquery局部刷新实现注册验证

struts2+json+jquery局部刷新实现注册验证 1.项目需要导入的jar包 在web项目的WebRoot/WEB-INF/lib目录下导入以下包 2.在src目录下建立包com.entity,里面建立java类:UserInfo.java .  MailSenderInfo.java UserInfo.java package com.entity; import java.io.Serializable; /** * 说明:用户实体类 * @author wangcunhuazi

java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理

XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){ $.post("getXmlAction.action",{name:$('#name').val()},function(ret,status){ if("success" == status) var id = $(ret).find("id").text(); var age = $

json的简单介绍

一.选择的意义 在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.为了更好的使用ajax,我们将学习一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地在应用程序中移动数据和对象.JSON是一种简单的数据交换格式,在某些方面,它的作用与XML非常类似,但比XML更为简单,JSON的语法简化了数据交换的难度,而且提供了一种伪对象的方式. Java的对象 < - >JavaScript对象(json数据格式) 二.J

Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

http://www.fengfly.com/plus/view-191093-1.html Flex+Struts2+JSON的后台代码我在这就不多说了.不懂得请看我写的上一篇文章<Struts2+JQuery+JSON实现异步交互>那篇文章,后台没有任何变化. 在这着重讲Flex端的实现代码. 第一步: 从http://code.google.com/p/as3corelib/网站中下载as3corelib-.92.1.zip文件并解压,解压后在as3corelib-.92.1\as3co

简单十招提高jQuery执行效率

1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的jQuery选择语句: $('.elem') $('.elem', context) context.find('.elem') 我们用1.4.2.1.4.4.1.6.2三个版本的jQuery测试,看看浏览器在1秒内能够执行多少次.结果如下: 可以看到,1.6.2版本的运行次数,远远超过两个老版本.尤

Android+struts2+JSON方式的手机开发(Login)

在手机的后台服务无论是调用WebService还是Http请求,多数都是采用Android的HttpClient实现相关的调用实现.本文实现Android+Struts2+JSON方式实现为手机前台提供服务. 涉及的知识点: 1.Struts2框架的搭建(包括Struts2的jSON插件) 2.Android前台访问Web采用HttpClient方式. 3.Android采用JSON的解析. 功能:模拟远程登录流程: 手机后台服务:由于采用Struts2的JSON响应格式,响应详细会自动转变为J

Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers &quot;public&quot;

Spring注入Action使用Json错误:org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.IllegalAccessException: Class org.apache.struts2.json.JSONWri

使用fastjson转换json的简单例子

pom添加依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.41</version> </dependency> 代码: package JsonTest.JsonTest; import java.util.ArrayList; import java.util.Hash