spring-boot - Thymeleaf 如何为 Google Chart 输出对象数组

标签 spring-boot google-visualization thymeleaf

使用 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/

相关文章:

java - Spring boot 使用 PropertySource 加载每个环境的配置

javascript - Google Graph DataTable + 饼图样式

java - 已解决 [org.springframework.web.HttpRequestMethodNotSupportedException : Request method 'POST' not supported]

java - 无法使用 Spring Boot 和 Thymeleaf 在动态创建的表单中获取更新的值

regex - Spring-Boot @RequestMapping 和@PathVariable 正则表达式匹配

java - 使用Spring Boot 1.3.5(gradle)的Log4j 2.6(属性文件)不起作用

java - 如何在 Spring boot 中禁用 Jolokia 的写入操作?

javascript - ajax 调用后 Google 图表不绘制

javascript - 如何更改 Google 图表工具提示的字体大小

regex - 使用正则表达式使用 thymeleaf 从字符串中删除所有特殊字符