2016-11-24 51 views
2

帶有Thymeleaf的Google圖表示例非常缺乏。我不想爲每個圖形創建一個HTTP端點,這裏採用的方法是:http://www.baeldung.com/spring-rest-api-metrics,不過這是一個很好的指導。Thymeleaf如何爲Google圖表輸出對象數組

我只想知道Thymeleaf如何輸出對象數組Object[][]到圖表API可以攝取的javascript字符串表示。它必須(資本M)成爲可能。

據我所知,從閱讀文檔看,我使用的語法應該已經工作。請指教

腳本

<script type="text/javascript"> 
    // Load the Visualization API and the piechart package. 
    google.load('visualization', '1.0', { 
     'packages' : [ 'corechart' ] 
    }); 

    // Set a callback to run when the Google Visualization API is loaded. 
    google.setOnLoadCallback(drawChart); 

    function drawChart() { 
     var d = /*[[${tools}]]*/ ; 
     var data = google.visualization.arrayToDataTable(d); 

    var options = { 
     title: 'Test data generated by tool', 
     pieHole: 0.4, 
    }; 

    var chart = new google.visualization.PieChart(document.getElementById('data_chart'); 
    chart.draw(data, options); 
    } 
</script> 

控制器

@RequestMapping("portal") 
String index(Model model){ 
    model.addAttribute("metrics", metricsService.getMetricsForHomePage()); 
    model.addAttribute("tools", metricsService.getToolMetricsForHomePage()); 
    return "index"; 
} 

服務

@Override 
public Object[][] getToolMetricsForHomePage() { 

    int rowCount = (int) testToolRepository.count(); 
    Object[][] result = new Object[rowCount][2]; 

    int i = 0; 
    for (TestTool t : testToolRepository.findAll()){ 
     result[i][0] = t.getName(); 
     result[i][1] = t.getGeneratedDataCount(); 
     i++; 
    } 
    return result; 
} 

回答

0

您是MI ssing上的腳本標籤Thymeleaf內嵌註釋:

<script type="text/javascript" th:inline="javascript">

這將打開內聯功能。