Struts + JFreeChart

6 respostas
Gustavo_Yu

Pessoal, alguém sabe como faço para mostra um gráfico (JfreeChart) em um JSP, utilizando Struts?

Valeu!

6 Respostas

java.rco

Não tem segredo nenhum, ele irá funcionar como uma taglib normal, você declara a TLD dele lá no inicio da sua JSP junto com as do struts e usa ela na parte da tela aonde quer disponibilizar.

Gustavo_Yu

Sim, mas tipo…
preciso mudar alguma coisa no struts-config?
e como ficaria a tag no jsp?

java.rco

não há alteração no struts-config não

vc vai usar normal, como estivesse usando um componente do struts.

Gustavo_Yu

Cara, n entendi…
A classe q gera o gráfico está assim…
com eu xamo isso no JSP?

public class Teste extends Action
{
  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
  {

  
       
          /* -------AQUI COMEÇA O GRÁFICO-------*/
           
                                         
          OutputStream out = response.getOutputStream();

          try
          {
          DefaultPieDataset dataset = new DefaultPieDataset();
          
          dataset.setValue("TESTE1",23);
          dataset.setValue("TESTE2",40);
          dataset.setValue("TESTE3",56);
          dataset.setValue("TESTE4",12);
          
          
          JFreeChart chart = ChartFactory.createPieChart3D(
              "TITULO",                      // Title
              dataset,                                                    //Título do Eixo X
              true,                                                       // Yes, display the legend
              true,                                                       // No, don't display tooltips
              true                                                        // No, no URLs
          );
          chart.setBackgroundPaint(Color.WHITE);                          //Setar cor de fundo
          CategoryPlot plot = chart.getCategoryPlot();                    //Plot utilizado para definir características do gráfico   
          plot.setBackgroundPaint(Color.WHITE);
          plot.setDomainGridlinePaint(Color.white);                       //Cor de linha vertical de Fundo do charts             
          plot.setDomainGridlinesVisible(true);                           //permição de visualização de linha             
          plot.setRangeGridlinePaint(Color.black);
          plot.setNoDataMessage("Sem Dados");
          response.setContentType("image/png");    
          ChartUtilities.writeChartAsPNG(out, chart, 650, 400);
          }
          catch (Exception e)
          {
             System.out.println(e.toString());
          }
          finally
          {
             out.close();
          }                                         
          
          
          return null;
  
  }
  

}
java.rco

Você acabou gerando algo especifico na mão!

Então você vai precisar ter um submit que vá para essa action chamada Teste, pq ela tá escrevendo no stream.
Só de você fazer o submit para essa Action a imagem irá ser gerada na tela.

Gustavo_Yu

consegui rodar cara!
vlw pela ajuda!

Criado 26 de junho de 2008
Ultima resposta 27 de jun. de 2008
Respostas 6
Participantes 2