使用 Thymeleaf 的谷歌图表示例真的很缺乏。我不想为每个图形都创建一个 HTTP 端点,这里采用的方法是:http://www.baeldung.com/spring-rest-api-metrics虽然它是一个很好的指南,否则。
我只想知道 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>
Controller
@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;
}
最佳答案
您缺少脚本标签上的 Thymeleaf 内联注释:<script type="text/javascript" th:inline="javascript">
这将打开内联功能。
关于spring-boot - Thymeleaf 如何为 Google Chart 输出对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40783104/