2017-10-26 6 views
0

나는이 링크 튜토리얼 다음 자바 서블릿 코드에서 구글 차트를 사용하는 것을 시도하고있다 - https://developers.google.com/chart/interactive/docs/gallery/barchart구글 차트 자바 서블릿에서 HashMap의 데이터를 표시하지 않습니다

내가 위의 링크에 표시되는 정확한 차트를 표시 할 수 있어요 내 자바 서블릿하지만 문제는 내 해시 맵을 반복하고 해당 데이터를 그래프에 표시하려고 할 때 자바 서블릿에 표시되지 않는다는 것입니다.

out.println("<script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>"); 
    out.println("<div id='chart_div'></div>"); 
    out.println("<script type = 'text/javascript'>"); 
    out.println("google.charts.load('current', {packages: ['corechart', 'bar']});"); 
    out.println("google.charts.setOnLoadCallback(drawBasic);"); 

    out.println("function drawBasic() {"); 

    out.println("var data = google.visualization.arrayToDataTable(["); 
    out.println("['Product Name', 'Product Quantity'],"); 
    for (Map.Entry<String, Integer> entry : prod.entrySet()) 
    { 

     out.println("['"+entry.getKey()+"','"+entry.getValue()+"'],"); 
    } 
    out.println(" ]);"); 


    out.println("var options = {"); 
    out.println("title: 'Product Quantity',"); 
    out.println("chartArea: {width: '50%'},"); 

    out.println(" hAxis: {"); 
    out.println("title: 'Quantity',"); 
    out.println("minValue: 0"); 
    out.println(" },"); 
    out.println(" vAxis: {"); 
    out.println(" title: 'Product Name'"); 
    out.println(" }"); 
    out.println(" };"); 

    out.println("var chart = new google.visualization.BarChart(document.getElementById('chart_div'));"); 

    out.println("chart.draw(data, options);"); 
    out.println("}"); 
    out.println("</script>"); 

내 HashMap에 데이터가 포함되어 있는지 확인하기 위해 인쇄했습니다. HashMap을 사용하여 차트에서 데이터를 가져 오는 동안 내가 잘못 들어간 부분을 안내해 주시겠습니까?

+1

생성하는 HTML을 보았습니까? 모양이 정확합니까 (일치하는 따옴표, JSON 모양이 맞는지 등) 브라우저 도구의 콘솔에 오류가 있습니까? – stdunbar

+0

나는 당신에게 @stdunbar를 얻지 못했습니다. –

+1

궁극적으로 브라우저에서 실행되는 무언가를 생성하고 있습니까? 코드를 통해 HTML과 JavaScript를 생성하기 때문에 브라우저에서 소스를보고 생성 한 내용을 볼 수 있습니다. 그리고 그것을 실행하려고하면 모든 최신 브라우저에 내장 된 디버거가 있습니다. 거기에는 몇 가지 메시지가있을 수도 있습니다. 반복과 관련이없는 다른 가능한 오류를 찾고있었습니다. – stdunbar

답변

0

데이터

의 두 번째 열에서 시작 번호 또는 열 역할
에 대한 막대 그래프 data format 호출하지만 당신은 문자열을

을 전달하는 두 번째에서 따옴표를 제거 값은 다음과 같이 배열에서 ...

out.println("['"+entry.getKey()+"',"+entry.getValue()+"],"); 
+0

이 질문에 행운이 있습니까? – WhiteHat