Gerar Relatorio (JasperReport) usando Java Bean - Help

Oi pessoal,

Estou com uma grande dúvida, pois quero gerar um relatorio (do jasper report utilizando o ireport) a partir de um java bean, até ai tudo bem, o meu problema é que eu tenho uma lista de objetos e cada objeto possui vários atributos, os quais serão impressos no relatório.
Por exemplo:

Tenho um objeto do tipo “Pessoa”, que possui os atributos nome, idade e cidade.
Quero gerar uma lista com todas as pessoas, vizualizando nome, idade e cidade de cada uma no relatório.

Exemplo de um pedaço do código.

.....

while (pessoas.hasNetx()) {
Pessoa pessoa = (Pessoa) pessoas.next();
String nome = pessoa.getNome();
int idade = pessoa.getIdade();
String cidade = pessoa.getCidade();
// Como faço para adicionar todos os dados de pessoa por pessoa? Não posso usar um Map, né?

// Se caso eu fosse mostrar os dados de apenas 1 pessoa seria:
// parametros.put(“Nome”, nome);
// parametros.put(“Idade”, idade );
// parametros.put(“Cidade”, cidade);

}

Ve se isso ajuda http://geocities.yahoo.com.br/robertofurutani/java/Tutorial_JasperReports/index.htm

Oi Roberto,

Seu material é muito bom, me ajudou muito!
Obrigada pela ajuda!

O problema é que eu ainda na consegui gerar o meu relatório :(.
o erro que aprece no navegador qdo tento gerar é:

java.lang.IllegalStateException: Cannot call getWriter() after getOutputStream()
com.opensymphony.module.sitemesh.filter.PageResponseWrapper.getPageWriter(PageResponseWrapper.java:176)
com.opensymphony.module.sitemesh.filter.PageResponseWrapper.getWriter(PageResponseWrapper.java:166)
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:122)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:115)
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:190)
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:115)
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
org.apache.jsp.erro_jsp._jspService(erro_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)

e no console do Eclipse é:

com.trusty.util.relatorio.RelatorioNaoImprimeException: dori.jasper.engine.JRException: Class not found when loading object from InputStream
at com.trusty.util.relatorio.Relatorio.imprimir(Relatorio.java:122)
at com.trusty.util.struts.PdfBaseAction.gerarRelatorio(PdfBaseAction.java:36)
at com.trusty.projeto.auditoria.struts.RiscoResidualCriarEditarAction.executar(RiscoResidualCriarEditarAction.java:51)
at com.trusty.util.struts.BaseAction.execute(BaseAction.java:49)

Como sou “leiga” nesse assunto, não consegui resolver o meu problema :frowning:

Se puderes me ajudar eu te agradeço.