💡 구글 개발자센터 참고하러 가기
# DB에 존재하는 데이터를 화면단에 뿌려주는 방법
1) Controller > DB에서 가져온 값을 가공하여 뷰단에 전달
@RequestMapping("/statsUser.do")
public String statsUser(Model model) throws Exception{
System.out.println("/statsUser.do");
Map<String, Object> map = userService.getQuitUserList();
//map에 두개가 담겨져 있음
//List<QuitUser> user
//Map<String, Integer> reason
Map<String, Integer> reason = (Map<String, Integer>) map.get("reason");
//데이터 가공 후 전달
String result = "";
Set<String> reasonKeys = reason.keySet();
for(String key : reasonKeys) {
if(result!="") {
result += ",";
}
result += "['"+key+"', "+reason.get(key)+"]";
}
model.addAttribute("result", result);
return "forward:/user/statsUser.jsp";
}
2) View > 헤드부분에 자바스크립트함수를 삽입하고
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Reason', 'Count'],
${result}
]);
var options = {
title: '탈퇴 통계'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
3) View > 바디부분에 뿌려줄 차트항목을 써주면 끝!
<div id="piechart" style="width: 900px; height: 500px;"></div>
반응형
'Frontend > JavaScript' 카테고리의 다른 글
페이지 최상단으로 이동시키는 스크립트 (2) | 2018.07.13 |
---|---|
현재시스템 날짜와 시간 구하는 자바스크립트 (0) | 2018.07.10 |
아이콘을 화면에 고정시키기 (0) | 2018.07.02 |
엔터키 누르면 함수실행되게 하기 (0) | 2018.05.04 |
자식윈도우가 닫혀지면서 부모윈도우 페이지 이동시키는 방법 (0) | 2018.05.02 |
댓글