highcharts 为什么拿不到后台的数据

好好努力 发布于 2015/10/14 09:29
阅读 245
收藏 0
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
<%  
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%>">  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">   
    <meta http-equiv="pragma" content="no-cache">  
    <meta http-equiv="cache-control" content="no-cache">  
    <meta http-equiv="expires" content="0">      
   
 <!--     <script type="text/javascript" src="js/jquery.min.js"></script>    
  //  <script type="text/javascript" src="js/highcharts.js"></script> --> 
    <script src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="http://cdn.hcharts.cn/highcharts/highcharts.js" type="text/javascript"></script> 
    <script type="text/javascript" src="js/exporting.js"></script>    
  
<script type="text/javascript">  
$(function () {
    $('#container').highcharts({
        title: {
            text: 'Monthly Average Temperature',
            x: -20 //center
        },
        subtitle: {
            text: 'Source: WorldClimate.com',
            x: -20
        },
        xAxis: {
         //   categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun','Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        categories: [$(categories)]
        },
        yAxis: {
            title: {
                text: 'Temperature (°C)'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            valueSuffix: '°C'
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'middle',
            borderWidth: 0
        },
     // 可以不弹出提示 直接展示数据 开始  
        plotOptions: {  
             line: {  
                 dataLabels: {  
                     enabled: true  
                 },  
                 enableMouseTracking: false  
             }  
         },  
     // 可以不弹出提示 直接展示数据 结束  

    // series: [$(data)] 

series:[${data}]  //这么写大括号就错了!!

    });
}); 
 


        </script>  
    </head>  
    <body>  
  
  
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto">
${categories}<br/>  
${data}  
</div>  


    </body>  

</html>  

这个是servlet类:

package highcharts;
import java.io.IOException;  


import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;
public class Line_basic {
private static final long serialVersionUID = 7255053394404579739L;  
    /** 
     * line_basic  曲线图报表 
     * 把相应的数据在后台组装好,在前台显示就好。 
     * 数据大小的x作标会相应的变化。 
     */  
  
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException {  
        String categories="['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun','Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec','一','二','三','四','五','一']";  
        req.setAttribute("categories",categories);  
        System.out.println(categories);  
          
        String dataString ="{name: 'Tokyo',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6, 9.1,7.0, 6.9, 9.5, 14.5, 18.2]}," +  
                            "{name: 'New York',data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5, 9.2,-0.2, 0.8, 5.7, 11.3,9.5 ]},"+    
                            "{name: 'Berlin',data: [-9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0, 9.3,-9, 0.6, 3.5, 8.4, 13.5]}, " +  
                            "{name: 'London', data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8, 9.4,3.9, 4.2, 5.7, 8.5, 11.9]}";  
        req.setAttribute("data",dataString);  
        System.out.println(dataString);  
        req.getRequestDispatcher("/line_basic.jsp").forward(req,resp);  
    }  
  
   
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException {  
        this.doGet(req, resp);  
    }  
  
}  



加载中
0
尚浩宇
尚浩宇
你得eval一下你的数据,比如eval(${data}),因为你用el拿出来的时候他是字符串类型不是对象,highcharts无法识别字符串类型的数据
返回顶部
顶部