Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida de como acessar uma classse java de um javascript dentro de um template html

Olá Pessoal,

Estou novo no spring e estou tentando fazer alguns testes.

Eu tenho um template que me retorna um google chart, e já está funcionando perfeitamente, só que com os dados estáticos. Preciso pegar os valores gerados através de uma classe que eu tenho.

<!DOCTYPE html>
<html>
  <head>
    <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([
          ['Year', 'Sales', 'Expenses'],
          ['2004',  1000,      400],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540]
        ]);

        var options = {
          title: 'Company Performance',
          curveType: 'function',
          legend: { position: 'bottom' }
        };

        var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));

        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="curve_chart" style="width: 900px; height: 500px"></div>
  </body>
</html>

Gostaria de saber como eu consigo acessar algumas de minhas classes java, que já retornam o valor que eu quero, para poder preencher a var data:

var data = google.visualization.arrayToDataTable([
          ['Year', 'Sales', 'Expenses'],
          ['2004',  1000,      400],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540]
        ]);

Como eu disse, eu ja tenho uma classe que me retorna uma string neste formato ['Year', 'Sales', 'Expenses'], ['2004', 1000, 400] etc... mas eu não faço idéia de como chamar esta minha classe. Lembrando é uma classe public static. Se fosse chama-la de uma outra classe qualquer eu chamaria somente nome_classe.metodo(), e ja me retornaria o valor que preciso.

Se alguém puder me dar um direcionamento.. ;)

Obrigado,

Fabricio

2 respostas
solução!

Aah, desculpem, esqueci de mencionar que estou usando o thymeleaf. Estou seguindo o exemplo do curso de Spring Boot.

Pessoal,

Consegui resolver.

Eu não sabia, mas lendo eu vi que preciso acessar minhas classes do meu controller.

@RequestMapping("/teste2")
    public String teste2(Model model){

        String var = BuildCsv.buildArray();
        model.addAttribute("var",var);

        return "teste2";
    }