Uso de scriptlet no JasperReports - Instabilidade do Jasper Reports

Pessoal,

Estou há algum tempo tentando resolver o problema de usar scriptlets no Jasper Reports. Na verdade eu consegui fazer com que a classe fosse chamada, mas ao tentar imprimir o valor de uma variável atribuindo um valor a ela, simplesmente não funciona.

O scriptlet é muito simples, trata-se apenas de um teste e está no mesmo package do arquivo .jrxml para que funcione corretamente. Eu tenho uma variável (variable1) do tipo String que eu testei usar de duas formas diferentes: 1. Atribuindo o variable expression = $P{REPORT_SCRIPTLET}.getTeste() e 2. usando o método setVariable como pode-se observar no scriptlet abaixo.

Em ambos os casos a variável imprime um NULL no meu relatório.

package com.prosul.jasper.templates;
import net.sf.jasperreports.engine.JRDefaultScriptlet;
import net.sf.jasperreports.engine.JRScriptletException;
public class JRPerformanceProjetosScriptlet extends JRDefaultScriptlet{
private String teste = “”;

public String getTeste() throws JRScriptletException {
    return teste;
}

@Override
public void afterGroupInit(String groupName) throws JRScriptletException {        
    super.afterGroupInit(groupName);
}

@Override
public void beforeGroupInit(String groupName) throws JRScriptletException {
    teste += "bla";
    this.setVariableValue("variable1", teste.toString());
    super.beforeGroupInit(groupName);
}

@Override
public void beforeReportInit() throws JRScriptletException {
    super.beforeReportInit();
}

}

Mais do que isso, eu venho fazendo testes com o iReports e o Jasper 3.6.1 e 3.6.0 há algum tempo. Tenho observado que:

  1. as funções de expressão que estão indicadas em ajudas no próprio fórum do Jasper não funcionam;
  2. os exemplos de expressões, scriptlets e outros dados coletados em materiais que eu consegui pegar na web não funcionam;
  3. por exemplo, embora voce sete uma variável como String, se você colocar um “” no Initial Value Expression, dá erro; existe um tópico no fórum do Jasper sobre isso, segui as instruções do cara, mas efetivamente isso não funciona (inclusive no fórum a pessoa que abriu o tópico ficou sem resposta porque também não conseguiu fazer funcionar).

Isso tem me desgastado bastante. Eu pretendia mudar todo um projeto que temos aqui em que os relatórios são gerados em html e jsf para utilizar um componente que fosse visualmente mais adequado e me permitisse ganhar em produtividade.

Tenho tido tantas dificuldades com o Jasper que estou quase abandonando-o. Ele parece muito bom pra geração de relatórios simples, contendo apenas seções de detalhe, mas se você necessita de resumos, crosstabs, manipulação dos dados já gerados no detalhe, gráficos, ele parece muito fraco!!!

Será que eu estou testando uma versão instável? Ou ele é assim mesmo?

Existe um Crystal Reports for Eclipse IDE, andei dando uma olhada nele, parece bem mais consistente (mesmo porque aqui usamos eclipse e o JasperAssistant é bem fraquinho), mesmo porque o Crystal está aí há muitos anos. Eu não queria usar uma tecnologia proprietária com um software desenvolvido todo em plataformas open source. Mas não estou vendo muitas alteranativas.

Será que vocês poderiam me ajudar com as suas impressões a respeito dos problemas que eu descrevi?

Grande abraço a todos…

Pessoal,

Ninguém aí usa Jasper Reports só para dar uma opinião sobre o funcionamento dele?

Abraços…

Olá!

Eu sou estagiária e estou incubida de fazer alguns relatorios aqui na empresa usando IReport 3.6.1. Tmabém estou encontradno mutia dificuldade, No inicio, atribui essa diiculdade aminha falta de exzperiencia. Mas agora estou vendo que se trata relamente de uma ferramenta difícil e, como vc disse, que tm muitos erros. Os primeiros relatorios (simples) deram certo. Agora tenho que fazer um que usa uns 5 agrupamentos, com o crosstab! Estou me vendo louca e desanimada! Pois não consigo sair de onde cheguei! Montei os grupos, o crosstab, agora o danado do layout está uma bosta rs
E, do nada os field não querem mais aparecer (preview) dentro do crosstab. No designer estão no lugar certo, mas no preview eles simplesmente flutuam!

Bm… N sei c pode me ajudar. Eu, não posso te ajudar, rs, mas pelo menos compartilhamos nossa insatisfação com o JASPER!

bjx :x

Rapaz, eu utilizo IReport, conheço toda uma equipe que usa, resolve todos os nossos problemas. Agora eu estou descobrindo a maravilha que é utilizando com Scriplets.
Você já conseguiu resolver os problemas?