Ercharts报表制作
Echarts报表制作-从数据库中获取的数据,存放在一个集合当中。通过JSON.toJSONstring(map)的方法转换成JSON字符串。然后前台页面获取数据,x,y轴一一对应以柱(饼,线等)形式展现出来。
详细介绍:在后台代码处理的过程中。需要将X,Y轴想要展示的数据,通过遍历存放在一个map的集合中。我设置的是 Pojo类为成X,Y轴对应属性的集合,然后将数据迭代以后存放在集合当中。值得注意一点是需要在Controller层添加@Responsebody注解(@Responsebody 的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用)。 然后在前台JSP页面中设置var = ‘${pageContext.request.contextPath}/xxx’;
$.getJSON(url).done(function(JSON){
Var 属性名 = json.xxx(map集合名称).xxx (x集合名称);
Var 属性名 = json.xxx(map集合名称).yyy (y集合名称);
下面根据自己的需求设置对应的x,y属性名和值 (自动迭代,不需要再手动迭代)
})
注意的一点是:注意echarts.js包的引入 和jQuery包的引入
贴图如下:
Controller代码:
@Controller
@RequestMapping("/Movies")
public class MoviesController {
@Autowired
public MoviesService moviesService;
@RequestMapping(value = "/findAll")
@ResponseBody
public void findMaxTenMovies(HttpServletRequest request, HttpServletResponse response) throws IOException {
HttpSession session = request.getSession();
List<MoviesPojo> moviesList = moviesService.findMaxTenMovies();
session.setAttribute("moviesList",moviesList);
List<String> names = new LinkedList<String>();
List<String> counts = new LinkedList<String>();
for(MoviesPojo moviesPojo : moviesList){
names.add(moviesPojo.getMovie_name());
counts.add(moviesPojo.getEvalue_usersr());
}
for(String s :names){
System.out.println(s);
}
for(String a :counts){
System.out.println(a);
}