最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
jsp页面用Highcharts绘制图表实例
时间:2015-06-16 编辑:简简单单 来源:一聚教程网
Highcharts 提供了比较简单的方式来为网页插入漂亮的、交互式的图标。目前支持各种折线图、区域图、柱状图、散列图,以及几种图的混合使用,此外还支持仪表、地热、雷达、极区、金字塔、瀑布等专业的图表。和收费的FusionCharts和AnyCharts比起来,HighCharts免费(Free-Non-Commercial许可证),并且扁平化的设计感很有优势,并且官方提供了大量的示例供研究。
在jsp页面使用Highcharts
参照教程首先引入jquery库和highcharts.js文件,接着就可以在页面中使用了。如果只是新建静态图表,那么按照教程直接来就可以生成漂亮的图标了。但是如果要在jsp中使用,就需要用到json(或类似的数据序列化格式)和ajax的方法来搞定了。这里使用了struts2和tomcat7来设计,并且环境已经配置好。
1、新建Action
在src目录新建一个JsonAction.java的类,并定义数据,这里要显示每个季度的数值,使用了一个map来存储。
public class JsonAction extends ActionSupport implements ServletRequestAware {
private Map
//Parameter from Jquery
private String countryName;
public String execute() {
seasonMap.put("s1", "12");
seasonMap.put("s2", "55");
seasonMap.put("s3", "26");
seasonMap.put("s4", "88");
setCountryName("China");
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request) {
}
public Map
return seasonMap;
}
public void setSeasonMap(Map
this.seasonMap = seasonMap;
}
public String getCountryName() {
return countryName;
}
public void setCountryName(String countryName) {
this.countryName = countryName;
}
}
public class JsonAction extends ActionSupport implements ServletRequestAware {
private Map
//Parameter from Jquery
private String countryName;
public String execute() {
seasonMap.put("s1", "12");
seasonMap.put("s2", "55");
seasonMap.put("s3", "26");
seasonMap.put("s4", "88");
setCountryName("China");
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request) {
}
public Map
return seasonMap;
}
public void setSeasonMap(Map
this.seasonMap = seasonMap;
}
public String getCountryName() {
return countryName;
}
public void setCountryName(String countryName) {
this.countryName = countryName;
}
}
2、在struts.xml中指定action指向和跳转方式
接着,测试http://localhost:8080/ajaxAction,应该会返回如下
{"countryName":"China","seasonMap":{"s1":"12","s2":"55","s3":"26","s4":"88"}}
{"countryName":"China","seasonMap":{"s1":"12","s2":"55","s3":"26","s4":"88"}}
的json格式结果。
3、jsp页面中的调用
新建一个jsp页面,内容如下
style="min- margin: 0 auto">
style="min- margin: 0 auto">
页面中使用ajax方式载入了ajaxAction返回的json数据,接着分别存储keys和values,并据此来绘制图形,关于图形的绘制方式和各个属性,可以通过API查看。
去掉右下角highchart.com链接
在highcharts({…})方法里,增加
credits: {
enabled: false
},
credits: {
enabled: false
},
的选项即可去掉连接,或者根据描述,操作href、style、text等属性,自定义自己的链接和现实样式。
总结
既然使用Javascript,使用其他语言肯定也很简单的,对于希望在网站中展示基于html5互动图表的用户,Highcharts是个很不错的工具。
Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
先看效果图。
Highcharts 中文API 实例网站
http://www.hcharts.cn/index.php ---------------------中文官方网站
http://www.hcharts.cn/docs/index.php----------------中文教程
http://www.hcharts.cn/demo/index.php---------------在线演示
http://bbs.hcharts.cn/forum.php-----------------------中文论坛
下载highcharts 与使用
http://www.hcharts.cn/resource/index.php 使用最新的就可以了。
http://www.hcharts.cn/docs/index.php?doc=start-download 网站里面有详细的介绍每个文件夹的作用。
需要的文件 jquery 自己下载就好了
页面index.jsp增加的代码
html代码
查看图表
js代码
function gotoHighchart(){
var url = '${ctx }/user/chartpage';
window.location.href=url;
}
操作当点击跳转页面
Controller代码
@RequestMapping(value = "chartpage")
public String chartpage(HttpServletRequest request,
HttpServletResponse response) {
return "views/user/chartpage";
}
与第5步的想对应。
所需要的页面代码 chartpage.jsp
以上实现了页面跳转的功能。需要图表的数据。还得继续
图表需要的数据方法
Controller
接受service传递json的字符串给页面
@RequestMapping(value = "/chart")
public String chart(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String result = null;
try {
result = userService.chart();
} catch (Exception e) {
if(log.isErrorEnabled()){
log.error("查询列表失败", e);
}
result = null;
}
StringUtil.writeToWeb(result, "html", response);
return null;
}
Service
将list对象存入map中。并转为json字符串数组
/**
* highcharts用的
* @Title: chart
* @Description: 直接转出JSON传递给前台页面接受
* @return
*/
public String chart(){
List
-
上一个: 软件重构和设计模式理解
-
下一个: java常量与变量的学习笔记
相关文章
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24
- SpringBoot常用计量与bean属性校验和进制数据转换规则解析 10-24
- 工厂方法在Spring框架中的运用介绍 10-24