Mensagens enviadas por: ana_abrantes
Índice dos Fóruns » Perfil de ana_abrantes » Mensagens enviadas por ana_abrantes
Autor Mensagem
O que você precisa é na sua aplicação mandar uma coleção de JavaBeans para o relatório.
Já no relatório, em datasource você digita o nome da classe desse JavaBean com o nome totalmente qualificado, mas esta classe tem que estar no classpath do iReport para funcionar, ok ?
Assim que você termina de digitar o nome da classe, os atributos dela já aparecem embaixo na mesma tela e ficam disponíveis como campos para serem usados no relatório.
Daí quando você rodar a aplicação, o relatório será executado para cada objeto da coleção passada.
Não sei se consegui explicar direito, mas não sei o que você já tem feito para poder ajudar mais...
Mas ainda não precisei fazer em Java... ainda bem!
Aí é que você se engana...
Existe um padrão sim, mas cada cliente tem um layout de NF diferente, às vezes é uma questão de tamanho do formulário, outras são os campos, mas dificilmente um é igual ao outro.
Portanto sempre tem que ajustar na hora de fazer um novo.
Ai eh que estah...
Se vc for usar um array ou collection, nao vai usar jsp usebean entende...
Use um loop no jsp com scriptlet ou com c:forEach da JSTL.
/WEB-INF/seu_arquivo.jasper
Se você mudar a seguinte linha no servlet, vai funcionar:

request.setAttribute("test", test[0]);


Ou fazer um loop no jsp, mas aí você não vai poder usar o javabean.
Coloque aqui o código do servlet e do jsp para poder ver o que está ocorrendo de errado, ok ?
Quando meus objetos são coleções ou arrays, eu uso a tag c:forEach da JSTL, mas você pode usar scriptlet também, é só usar como se estivesse fazendo um programa em Java.
Aconteceu isso comigo também.
Mandei um e-mail para o administrador do servidor onde o site está hospedado e ele resolveu isso.
Mas não sei exatamente o que foi feito para te ajudar.
Por acaso isso é o que você quer ?

<form action="seuForm.html">
...
<input type="submit" value"abre form">
</form>
Não mas acho que tem um exemplo no próprio JasperReports.
Então a versão deve estar errada porque a exceção diz que não encontra um método...
Você ainda não entendeu...
Porque você está usando array e não o próprio bean ?
No seguinte código:
TestBean[] test = new TestBean[1];
test[0] = new TestBean();

test é uma variável de referência que está apontado para o objeto array do tipo TestBean.

test[0] é uma outra variavel de referência que está apontando para o objeto do tipo TestBean.

Entenda: arrays são objetos também.

No seu caso, eu não entendi ainda porque quer usar array se tem um elemento só.
Ao contrário, se a() der exceção, b() e c() não são executados.
No seu programa swing a mesma coisa, ele termina.

Acho que me expliquei mau, o que quis dizer na verdade é que a exceção espera que algum método a trate e se nenhum tratar o programa termina.

Veja bem, imagine que main() chama a() que chama b() que chama c().
Se der exceção em c() e não for tratada aí, ela será propagada para o método que chamou: b().
Se b() não tratar também, propaga para a() e assim por diante até chegar no main(), que se não tratar também, termina a execução do seu programa.

Será que agora consegui ser mais clara ?
Acho que você não entendeu direito o significado de Runtime Exception.
Resumindo: são exceções que você não tem como prever, como a que o LIPE citou...
Ou melhor, que possam vir de erros de lógica ou de entrada de dados incorreta por exemplo.
Você sabe que deu erro porque o programa tem erro.
Normalmente a gente não trata mesmo, só em alguns casos muito especiais mesmo, tipo em conversão de números e datas.
 
Índice dos Fóruns » Perfil de ana_abrantes » Mensagens enviadas por ana_abrantes
Ir para:   
Powered by JForum 2.1.8 © JForum Team