| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2009 08:07:30
|
karol_JavaGirl
Debugger
![[Avatar]](/images/avatar/fd3771a0ce0803416cfb6a914448d0d0.jpg)
Membro desde: 01/06/2009 14:44:38
Mensagens: 61
Localização: Goiania
Offline
|
Galera o meu problema e o seguinte...
Estou fazendo um relatorio no iReport..ate ai tranquilo, fiz o relatorio e executei por ele la e deu tudo certo...
Mas qdo coloquei na minha aplicação web não funcionou...o cenario e o seguinte..
Tenho 2 campos no relatorio um do tipo Date e outro do tipo Integer. ai eu eu jogo um select desses campos na sessão e pego eles la no meu Servlet.
e coloco eles numa List...
Mas ai da erro de compilação, pois fala que não pode converter de String para int...
No meu banco esta certo...cada um com o seu tipo...
Eu acho que o problema esta nessa list, sera que ela ta colocando os objetos como se fosse String...se sim como faço pra fazer um List que me retorne o tipo real mesmo de cada objeto???
essa e a classe que executa o relatorio e onde eu faço essa List...o erro da justamente qdo vai passar para a variavel bytes[]
private void execute(ServletContext sc, HttpServletRequest request,
HttpServletResponse response) throws IOException {
try {
List listaReceita = (List) request.getSession().getAttribute("receitas");
JRDataSource jrds = new JRBeanCollectionDataSource(listaReceita);
// parametros para o relatorio
HashMap map = new HashMap();
// carrega os arquivos jasper
JasperReport reportFile = (JasperReport) JRLoader.loadObject(sc
.getRealPath("./relatorios/receita.jasper"));
byte bytes[] = null;
try {
bytes = JasperRunManager.runReportToPdf(reportFile, map, jrds);
} catch (Exception e) {
e.printStackTrace();
return;
}
if (bytes != null && bytes.length > 0) {
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
} catch (JRException e) {
e.printStackTrace();
}
}
Ai o erro que da e o seguinte:
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at receita_1247488341484_231658.evaluateEstimated(receita_1247488341484_231658:362)
at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:246)
Alguem me da um Help...to quebrando cabeça ja tem um tempao, e nada..
Desde ja Agradeço....
Abs.
This message was edited 2 times. Last update was at 14/07/2009 07:30:27
|
Karolina Fernandes
Desenvolvedora web
Projetct --> SCJP |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2009 08:27:10
|
thgdias
JavaGuru
Membro desde: 23/07/2007 18:59:31
Mensagens: 223
Localização: Basil - São Paulo - SP
Offline
|
por favor, utilize as tags [ code] [ /code] para colocar codigos aqui:
This message was edited 1 time. Last update was at 13/07/2009 08:27:41
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2009 08:50:03
|
karol_JavaGirl
Debugger
![[Avatar]](/images/avatar/fd3771a0ce0803416cfb6a914448d0d0.jpg)
Membro desde: 01/06/2009 14:44:38
Mensagens: 61
Localização: Goiania
Offline
|
Nossa desculpa....ae, sou nova aki e não sabia...e tbm nem li neh...antes de postar..desculpa....
Vlw a dica...
Mas então alguem ai pode me ajudar?
|
Karolina Fernandes
Desenvolvedora web
Projetct --> SCJP |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2009 11:29:20
|
Metaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/c2155acc6d5bcda7debfb19c3abef4af.jpg)
Membro desde: 06/07/2006 10:55:54
Mensagens: 668
Localização: São Bernardo do Campo - SP
Offline
|
karol_JavaGirl wrote:
List listaReceita = (List) request.getSession().getAttribute("receitas");
Provavelmente é nessa hora, os Objetos estão retornando em forma de String ou Object, isso partindo é claro do ponto que todos os dados no .jasper estão corretos.
Eu sugiro que tente "debugar" apenas para verificar o que a list está enviando para o .jasper, as vezes sei que é errado mas costumo converter todos os dados para String e no .jasper deixo tudo como String, faço porque utilizo uns 4 Beans diferentes para compor um relatório
|
"Why, Mr. Anderson? Why do you do it? Why get up? Why keep fighting? Do you believe you're fighting for something? For more than your survival? Can you tell me what it is? Do you even know? Is it freedom? Or truth? Perhaps peace? Yes? No? Could it be for love? Illusions, Mr. Anderson. Vagaries of perception. The temporary constructs of a feeble human intellect trying desperately to justify an existence that is without meaning or purpose. And all of them as artificial as the Matrix itself, although only a human mind could invent something as insipid as love. You must be able to see it, Mr. Anderson. You must know it by now. You can?t win. It?s pointless to keep fighting. Why, Mr. Anderson? Why? Why do you persist?"
Neo :
-Because is my choice
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2009 13:45:19
|
karol_JavaGirl
Debugger
![[Avatar]](/images/avatar/fd3771a0ce0803416cfb6a914448d0d0.jpg)
Membro desde: 01/06/2009 14:44:38
Mensagens: 61
Localização: Goiania
Offline
|
Metaleiro...
e o seguinte o problema e justamente esse, a lista esta enviando como String...
Nao posso converter tudo para string no iReports, pq tenho totalizadores...se converter não posso somar os valores...
Então que converter e a minha lista que pego da sessão com os valores corretos e jogar para outra lista....
Mas e justamente ai que to apanhando...vc sabe me dizer como faço essa conversão?
|
Karolina Fernandes
Desenvolvedora web
Projetct --> SCJP |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2009 14:18:15
|
Metaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/c2155acc6d5bcda7debfb19c3abef4af.jpg)
Membro desde: 06/07/2006 10:55:54
Mensagens: 668
Localização: São Bernardo do Campo - SP
Offline
|
Primeiro você tem que saber que tipo de list esta usando, se for um ArrayList<k,V> fica mais fácil, você pega simplesmente e percorre o Array através da key e usa algo do tipo para converter e jogar em outro Array :
Senão você faz a iteração e joga em um Bean, o bean que você utilzou e faz a mesma coisa colocando em outra list, algo mais ou menos dessa forma, apenas para se basear ou caso alguém tenha uma solução melhor :
This message was edited 1 time. Last update was at 13/07/2009 14:58:20
|
"Why, Mr. Anderson? Why do you do it? Why get up? Why keep fighting? Do you believe you're fighting for something? For more than your survival? Can you tell me what it is? Do you even know? Is it freedom? Or truth? Perhaps peace? Yes? No? Could it be for love? Illusions, Mr. Anderson. Vagaries of perception. The temporary constructs of a feeble human intellect trying desperately to justify an existence that is without meaning or purpose. And all of them as artificial as the Matrix itself, although only a human mind could invent something as insipid as love. You must be able to see it, Mr. Anderson. You must know it by now. You can?t win. It?s pointless to keep fighting. Why, Mr. Anderson? Why? Why do you persist?"
Neo :
-Because is my choice
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2009 07:29:57
|
karol_JavaGirl
Debugger
![[Avatar]](/images/avatar/fd3771a0ce0803416cfb6a914448d0d0.jpg)
Membro desde: 01/06/2009 14:44:38
Mensagens: 61
Localização: Goiania
Offline
|
vlw....deu certo aki...brigaduuu
|
Karolina Fernandes
Desenvolvedora web
Projetct --> SCJP |
|
|
 |
|
|