Fala Meu Camarada Betão
 
Foi de grande valia a tua ajuda. Meu relatório está disponível em minha aplicação. Ufa!!! Mais um passo avançado. MUITO GRATO!!!
 
Agora pergunto duas em uma. hehe
 
Se puderes me ajudar.
 
Valeu!!!
 
Grato
 
Beto
 
 
1º O próximo agora será buscar enviar parâmetros de um JSP para o meu PDF. Posso fazê-lo com o ireport? Como devo declarar as variáreis?
 
2º Peguei um exemplo na Net que realiza um PDF utilizando Servlet. Para visualizar um relatório com um só registro eu consegui fazer rodar. Com este exeplo eu criei um outro que deveria pegar dois parâmetros e mostrar todos os registros envolvidos, e na realidade quando chamo o Servlet me acusa o erro a seguir:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
NovoRelatoriopesquisarveiculos.doGet(NovoRelatoriopesquisarveiculos.java:47)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

Pelo que vejo, ele acusa que estou invocando uma variável nula. No meu JSP existem os campos "tipoconsulta" e "txtconsulta". O meu erro está na declaração das variáveis no Servlet? A seguir meu enrolado código:

import java.io.*;
import java.sql.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.Color;
import com.lowagie.text.*;
import com.lowagie.text.
pdf.*;
import conexao.Conexao;
import java.sql.Connection;
import java.net.*;

       public class NovoRelatoriopesquisarveiculos extends HttpServlet {
           Vector nom_grupoVector = new Vector();
           Vector nom_marcaVector = new Vector();
           Vector nom_modeloVector = new Vector();
           Vector descricaoVector = new Vector();
   
   //construtor da classe
        public NovoRelatoriopesquisarveiculos() {
      }

//  método doPost - implementado
       public void doPost(HttpServletRequest req,HttpServletResponse res)
             throws ServletException, IOException {
            throw new ServletException("Não implementado");
       }

   //método doGet - implementado
       public void doGet(HttpServletRequest req,HttpServletResponse res)
      throws ServletException, IOException {

//res.setContentType( "text/plain" );
              
    String tipoconsulta = req.getParameter("tipoconsultaHid");
    String txtconsulta = req.getParameter("txtconsultaHid");

Conexao connection = null;
  try {
    connection = new Conexao();
   String sql="";

    
 
 if (tipoconsulta.equals("1")){
       sql="Select nom_grupo, nom_marca, nom_modelo, descricao FROM veiculo v, modelo md, marca m, grupo g where v.marca_modelo_Cod_modelo = md.Cod_modelo and v.marca_Cod_marca = m.Cod_marca and v.Grupo_Cod_grupo = g.Cod_grupo and Nom_grupo like '%"+txtconsulta+"%'";
        } else
      if (tipoconsulta.equals("2")){
       sql="Select nom_grupo, nom_marca, nom_modelo, descricao FROM veiculo v, marca m, modelo md, grupo g where v.marca_modelo_Cod_modelo = md.Cod_modelo and v.Grupo_Cod_grupo = g.Cod_grupo and v.Marca_Cod_marca = m.Cod_marca and Nom_marca like '%"+txtconsulta+"%'";
       } else
      if (tipoconsulta.equals("3")){
      sql="Select nom_grupo, nom_marca, nom_modelo, descricao FROM veiculo v, marca m, modelo md, grupo g where v.marca_modelo_Cod_modelo = md.Cod_modelo and v.Grupo_Cod_grupo = g.Cod_grupo and v.Marca_Cod_marca = m.Cod_marca and Nom_modelo like '%"+txtconsulta+"%'";
      } else
      if (tipoconsulta.equals("4")){
      sql="Select nom_grupo, nom_marca, nom_modelo, descricao FROM veiculo v, marca m, modelo md, grupo g where v.marca_modelo_Cod_modelo = md.Cod_modelo and v.Grupo_Cod_grupo = g.Cod_grupo and v.Marca_Cod_marca = m.Cod_marca";
      }
   ResultSet rs = connection.executeQuery(sql);
   
   String tipoconsultaHidden="";   
 
   while (rs.next()){
    nom_grupoVector.addElement(rs.getString("Nom_grupo"));
    nom_marcaVector.addElement(rs.getString("Nom_marca"));
    nom_modeloVector.addElement(rs.getString("Nom_modelo"));
    descricaoVector.addElement(rs.getString("Descricao"));
      }

         } catch(SQLException e){
          // res.sendRedirect("../erro2.jsp?mensagem="+e.getMessage());
            res.sendRedirect("/gustavo/mensagem.jsp?mensagem="+e.getMessage());
             return;
         }finally {
           if (connection!=null)
           connection.fecharConexao();
           connection=null;
          }
  //Fim da conexão

/**********************************************************************************/
/*                             GERAÇÂO DO
PDF                                     */

  ByteArrayOutputStream baos = new ByteArrayOutputStream();

        PdfWriter writer = null;
        Document document = null;
        Paragraph para = null;
         // Fontes usadas no
PDF
        Font titleFont = new Font(Font.HELVETICA, 18, Font.BOLDITALIC, new Color(128, 128, 128));
        Font smallFont = new Font(Font.HELVETICA, 8, Font.BOLDITALIC, new Color(128, 128, 128));

        document = new Document(PageSize.A4, 40, 40, 50, 50);

for(int i=0;i<nom_marcaVector.size();i++) {

        try {
         // Faz o PdfWriter escrever no baos
            writer=PdfWriter.getInstance(document, baos);

            document.addAuthor("Alberto"); // optional
            document.addSubject("Projeto SLVW"); // opcional
   document.open(); // abre o documento para escrita

         // Adiciona o header
         para=new Paragraph("Projeto SLVW",titleFont);
         para.setAlignment(para.ALIGN_CENTER);
         HeaderFooter header = new HeaderFooter(para, false);
         document.setHeader(header);

         // Coloca o número da pagina como footer
         HeaderFooter footer = new HeaderFooter(new Phrase(""), new Phrase(""));
         footer.setAlignment(Element.ALIGN_CENTER);
         document.setFooter(footer);

         
         // Adiciona mais uma página
             para=new Paragraph("Projeto SLVW",titleFont);
             para.setAlignment(para.ALIGN_CENTER);
             document.add(para);
   document.add(new Paragraph(""));
   document.add(new Paragraph(""));
         document.add(new Paragraph(""));
         document.add(new Paragraph("Nome do grupo "));
         document.add(new Paragraph(" "+nom_grupoVector.elementAt(i),smallFont));
         document.add(new Paragraph(""));
         document.add(new Paragraph("Nome da Marca "));
         document.add(new Paragraph(" "+nom_marcaVector.elementAt(i),smallFont));
         document.add(new Paragraph(""));
         document.add(new Paragraph("Nome do Modelo"));
         document.add(new Paragraph(" "+nom_modeloVector.elementAt(i),smallFont));
         document.add(new Paragraph(""));
         document.add(new Paragraph(""));
         document.add(new Paragraph("Descrição"));
         document.add(new Paragraph(" "+descricaoVector.elementAt(i),smallFont));
         document.add(new Paragraph(""));
         document.newPage();
         // Fecha o documento
       document.close();
   } catch (Exception e) {
            e.printStackTrace();
        }
        // Configura o tipo de arquivo e envia o baos
        res.setContentType("application/
pdf");
        SimpleDateFormat dtNameFormat = new SimpleDateFormat("yyyyMMdd_hh_mm_ss");
        res.setContentLength(baos.size());
        ServletOutputStream out = res.getOutputStream();
        baos.writeTo(out);
        out.flush();
}
    //Final da criação do
PDF
    }
}

 

 

Luiz Alberto <[EMAIL PROTECTED]> escreveu:
Fala, betão
 
Te mandei em private um tutorial do iReport que explica como desenvolver e chamar reports via servlet, jsp, e, se preferir, via classes Action do Struts
Qualquer duvida, tamos aí.
 
 
Abraços,
Beto
 

rjbeto1 <[EMAIL PROTECTED]> escreveu:
Olá Beto

Tua ajuda foi fundamental para que eu conseguisse compilar meu
código. Devido a falta de conhecimentos, estou terminando a
Faculdade, ainda tenho muito o que aprender. E continuo contando com
tua ajuda. Valeu?

Agora tenho uma classe GerarRelatorio.class criada a partir
do .jasper. Como faço para habilitá-la dentro de minha aplicação em
JSP?

Eu havia criado uma outra classe com servlet e a chamei utilizando a
linha de comando <%out.print("href=''>Grupo"); %>e funcionou
perfeitamente me criando um PDF.

Para o que criei com tua ajuda, tentei chamar utilizando:

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger
http://br.download.yahoo.com/messenger/


Yahoo! Messenger com voz: PROMOÇÃO VOCÊ PODE LEVAR UMA VIAGEM NA CONVERSA. Participe!

SPONSORED LINKS
Basic programming language C programming language Computer programming languages
The c programming language C programming language List of programming languages


YAHOO! GROUPS LINKS




Atrašyti