| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2005 15:41:10
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Alguem chegou a criar algum scriptlet no iReport sem problemas ? To recebendo um CLassNotFoundException só de tentar usar o editor ( experimental ) do iReport.
Estou usando o iReport 0.4.0. Qdo vou lá e clico pra iniciar o editor de scriptlet, ele pergunta se quru habilitar. Ok habilito. Dai qdo compilo o relatorio, ele ja começa a dar esse erro. Mesmo indo lá no scriptlet, nomeando tudo bonitinho os construtores e a classe, nada, continuar dando erro.....
Alguem sabe o que pode ser ?
Tks..
Bruno
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2005 17:06:23
|
marcioa1
Virtual Machine Man
![[Avatar]](/images/avatar/169779d3852b32ce8b1a1724dbf5217d.jpg)
Membro desde: 29/11/2003 12:52:10
Mensagens: 736
Localização: Valinhos-SP
Offline
|
Você já tentou a versão 0.3.?
Tive alguns problemas com a versão 0.4 e passei a usar a 0.3.
Boa sorte
Márcio
|
SCJP 1.4, |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2007 16:09:01
|
isildur
Entusiasta Java
![[Avatar]](/images/avatar/537442dc2f31b1311163fef609949f9c.jpg)
Membro desde: 04/12/2006 17:42:23
Mensagens: 18
Localização: Fortaleza
Offline
|
Estou na versao 1.3.1 e não consigo usar ainda...
e no tutorial do ireport...num tem simplesmnte nada sobre Scriptlets.
Alguem tem algum tutorial aeh?
|
---------------------------------
Cada um com o seu destino. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2007 20:40:33
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Eu uso na versão 1.3.1.
No iReport, faça assim:
Edit > Report Properties
Vá na aba Scriptlet class e preencha:
Scriptlet class:
Use this scriptlet class...
jasper.scriptlet.MeuScriptlet
No último vc terá que colocar o caminho das pkgs onde está sua classe de scriptlet .JAVA. Sim! isso mesmo! .java! Eu uso scriptlet EXTERNO, o INTERNO do iReport como vc está usando eu achei muito ruim e não atendia minhas necessidades. Alias, nem tenho certeza se ele dá certo. Esse que acessa uma classe externa funciona perfeitamente, já uso faz um tempo.
Abaixo exemplo de uma classe de scriptlet num .java:
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2007 14:46:51
|
elwerle
Entusiasta Java
![[Avatar]](/images/avatar/26324d8e2cc1957b8e581568a089a51c.jpg)
Membro desde: 10/07/2007 16:39:40
Mensagens: 18
Offline
|
E ai Renata, estou tentando usar scriptlet com meu ireport 2.0 mas não tem jeito de dar certo, ele só da que não acha a classe java.lang.classNotFoundException não sei o que estou fazendo de errado, já tentei o scritlet interno gerado no próprio ireport e já segui este seu exemplo, mas nada adianta. Se você tiver um exemplo pronto para me enviar por email, edison@si.srv.br, ou podemos falar por msn tbm elwerle@hotmail.com .
Abraços
Edison
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2007 10:23:54
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Olá elwerle
Desculpe, só agora vi sua msg, o GUJ estava com as notificações desativadas e eu não consegui ver antes. Ainda tem o problema?
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2007 10:49:08
|
elwerle
Entusiasta Java
![[Avatar]](/images/avatar/26324d8e2cc1957b8e581568a089a51c.jpg)
Membro desde: 10/07/2007 16:39:40
Mensagens: 18
Offline
|
Sim ainda estou com o Problema. Se você tiver um exemplo pronto ai pra mim dar uma olhada. Eu estou usando a versão 2.0, onde ele da erro direto é só associar a classe que da erro ao compilar. Ai fiz usn testes na 1.3.1 que vocÊ falou que usa, não deu erro ao inserir a classe e compilar mas não consegui chamar os métodos dela. Não sei se você ainda esta usando a versão 1.3.1, se tiver um exemplo na 2.0 melhor pois tenho todos meus relatórios nesta versão senão não tiver pode ser na 1.3.1 mesmo.
Abraços
Edison
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 09:44:09
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Desculpe a demora, eu não tinha um ex pronto e tive que fazer. Estou cheia de trabalho essa semana, então acabou demorando. Estou te enviando o msm ex que mandei pra um outro colega que me perguntou sobre o assunto, espero que te ajude.
Enfim, vamos lá, algumas dicas:
Na época que eu comecei a usar Scriptlets, não consegui fazer funcionar usando Scriptlets interno ao relatório. Não sei se se trata de algum bug, mas como não consegui tentei o externo e funcionou perfeitamente, então, pra mim já estava ótimo e foi assim que deixei.
Eu uso iReport 1.3.0, não sei se isso pode ter alguma diferença, mas eu já usava scriptlets desde versões anteriores do iReport e depois que atualizei não tive problemas. O ex que fiz obviamente está nesta versão, mas tenho quase certeza de que vc pode abrir na versão que usa e rodar que não terá problemas.
Abaixo tem para download um exemplo funcionando. Dentro do fonte eu deixei alguns comentários que devem te ajudar.
Por experiência própria te digo que sempre que alterar a classe scriptlet, vc deve recompilar o .jrxml para gerar o .jasper. Não li isso e não tenho nenhuma comprovação teórica sobre o assunto. Mas o que senti é que qdo vc gera o .jasper ele busca o conteúdo da classe de scriptlet e compila junto. Por isso, sempre que fizer alterações nesta classe, o correto é recompilar o .jrxml.
Com scriptlets vc só altera VARIÁVEIS do seu relatório. Então vai da sua criatividade de forma a montar seu relatório para usar determinadas variáveis que vc vai estar alterando através dos scriptlets em tempo de execução.
No seu arquivo .jrxml:
- não use um texto estático, mas sim um campo texto com a sua variável
- a variável vc deve criar com o Calculation Type = System, senão ela não permite assumir os valores passados pelo scriptlet
- nas propriedades do relatório vc coloca a classe de scriptlet como sendo as packages até chegar no lugar onde está o .java. Como eu fiz colocando "teste.Teste_scriptlet"
- ainda nas propriedades do relatório vc especifica que quando não tiver informações para listar (aba More...), vc quer que mostre todas as seções, exceto o detail. Se não fizer isso, ele não vai mostrar nada já que estamos tentando imprimir algo sem consultar registro no BD
Bem, é isso, acho que o resto é vc olhando no exemplo msm.
Boa sorte, qq coisa vc "grita".
[]'s
Renata
| Nome do arquivo |
TesteScriptlet.rar |
Download
|
| Descrição |
Exemplo simples com scriptlet |
| Tamanho |
9 Kbytes
|
| Baixado: |
719 vez(es) |
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 10:33:04
|
elwerle
Entusiasta Java
![[Avatar]](/images/avatar/26324d8e2cc1957b8e581568a089a51c.jpg)
Membro desde: 10/07/2007 16:39:40
Mensagens: 18
Offline
|
Ok Renata, acho que vi alguns errinhos que estava cometento.
Mais uma dúvida. E se eu quizer criar um método meu, que não seja estes que já existem. Posso cria-los? E como chamaria estes métodos no ireport?
O que preciso fazer na realidade é salvar no banco de dados o total de páginas do relatório. E pelo que percebi não tem como retornar valores ao programa que chama o relatório então gostaria de usar os scriptlets para salvar no banco.
Obrigado por enquanto,
E aguardo um retorno
Edison
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 10:43:58
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Entendi,,, acho que vc vai precisar de um "jogo de cintura".
Veja bem, não é vc que faz o relatório chamar os métodos, ele faz isso sozinho. Então se vc quer criar um método seu, acho que o máximo que pode fazer é colocar a chamada pra esse método dentro de um daqueles que eu coloquei no exemplo.
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 11:06:16
|
elwerle
Entusiasta Java
![[Avatar]](/images/avatar/26324d8e2cc1957b8e581568a089a51c.jpg)
Membro desde: 10/07/2007 16:39:40
Mensagens: 18
Offline
|
Renata talvez você esteja enganada da uma olhada nestes doies exemplos :
http://www.mail-archive.com/discussao@cejug.org/msg01967.html
http://yettocome.blogspot.com/2005/10/using-jasperreports-scriptlet.html
Segundo eles da para chamar, só pra mim não quer funcionar hehehehe
Abraços
Edison
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 12:27:15
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Tem razão!
Agora que vi os links lembrei que já tinha lido isso em algum lugar. Mas nunca tentei, vou tentar aqui, se conseguir te falo!
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 13:02:45
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Consegui!
Faça as seguintes modificações:
Na classe Teste_scriptlet.java eu acrescentei esse método:
No meu relatório (Teste_scriptlet.jrxml), pelo iReport, eu fiz as seguintes modificações:
- acrescentei mais um campo texto
- na expressão dele coloquei isso
E agora o "pulo do gato":
Vai em Options > Classpath
Adicionei a pasta onde se encontrava a pkg teste. Por ex, minha classe scriptlet estava no seguinte caminho:
E:\Eclipse\TesteScriptlet\teste\Teste_scriptlet.java
Então ai no classpath adicionei o caminho assim:
E:\Eclipse\TesteScriptlet
Antes de eu fazer isso não conseguia compilar pq ele não encontrava a pkg teste. Depois disso funcionou perfeitamente.
Veja se consegue ai!
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 14:03:38
|
elwerle
Entusiasta Java
![[Avatar]](/images/avatar/26324d8e2cc1957b8e581568a089a51c.jpg)
Membro desde: 10/07/2007 16:39:40
Mensagens: 18
Offline
|
Renata
Ou eu sou muito burro ou o ireport esta gozando da minha cara hehehe.
Tentei tanto no 1.3.1 e no 2.0, segui bem como você fez e explicou mas fica dando erro, da uma olhada na imagem anexa e no .java
Naqueles arquivos do exemplo que você me disponibilizou tem um arquivo Teste_scriptlet.class quem gerou ele? É preciso este arquivo?
| Nome do arquivo |
teste.rar |
Download
|
| Descrição |
Arquivo com erro |
| Tamanho |
182 Kbytes
|
| Baixado: |
184 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2007 14:17:50
|
elwerle
Entusiasta Java
![[Avatar]](/images/avatar/26324d8e2cc1957b8e581568a089a51c.jpg)
Membro desde: 10/07/2007 16:39:40
Mensagens: 18
Offline
|
Não sei se tu me entendeu queria saber se precisa da classe compilada o .class
|
|
|
 |
|
|