Ajuda Java Web

2 respostas
A

Bom dia galera,
estou com uma duvida,
tenha na minha aplicação uma busca ao banco de dados por uma pagina jsp,
dessa forma esta montada no jsp:

<%
	
        String pa = (String) request.getAttribute("idpa");    
        String rst = (String) request.getAttribute("rst");
        String duracao1 = (String) request.getParameter("dur1");
        String duracao2 = (String) request.getParameter("dur2");
        String hora1 = (String) request.getParameter("hr1");
        String hora2 = (String) request.getParameter("hr2");
	int result;        
        int idpa;
        int dur1;
        int dur2;
	int hr1;
        int hr2;
		
	try {
         result = Integer.parseInt(rst);    
       }
       catch (NumberFormatException ex) {
         result  = 0;
       }
       try {
          idpa = Integer.parseInt(pa); 
       } catch (NumberFormatException e) {
          idpa = 0;
       }
        
       
       try {
           dur1 = Integer.parseInt(duracao1);
       } catch (NumberFormatException du) {
	  dur1 = 0;
       }
       
       try {
           dur2 = Integer.parseInt(duracao2);
       } catch (NumberFormatException du2) {
           dur2 = 0;
       }
        
        
       try{
           hr1 = Integer.parseInt(hora1);
       } catch(NumberFormatException hr){
           hr1 = 0;
       }
        
       try{
           hr2 = Integer.parseInt(hora2);
       } catch(NumberFormatException hr){
           hr2 = 0;
       }
        
        
       if(result==1){
                    String data1 = request.getParameter("data1");
                    String data2 = request.getParameter("data2");

			
              %> <script>alert('Nenhum registro para este relatório: \nData entre <%= data1 %> e  <%=data2 %>  \nDuracao entre <%=duracao1 %> e <%=duracao2 %> minutos \nHorario entre: <%=hora1 %> e <%=hora2 %> horas');</script> <%
       }	   


%>

E busco dessa forma:

<td width="21%"><span class="style2">
                                    <input name="duracao1" id="duracao1" type="text" value="00" size="2" />
                                    </span></td>
<td width="15%"><span class="style2">
				    <input name="duracao2" id="duracao2" type="text" value="99" size="2" />
                                    </span></td>
<td width="30%"><span class="style2">
                                      <input name="hora1" id="hora1" maxlength="5" onKeyPress="return(currencyHour(this,':',':',event))" type="text" size="5" value="00:00:00"/>
                                    </span></td>
<td width="30%" valign="bottom"><span class="style2">
                                      <input name="hora2" id="hora2" value="23:59:59" type="text" onKeyPress="return(currencyHour(this,':',':',event))" size="5" maxlength="5"/>
                                      </span>

Porém qd busco ele vem com resultado pra duraçao e hora null !!
Testei o sql direto no bd e funcionou perfeitamente, mas qd faço no jsp vem NULL como resultado!
Gostaria de saber se alguém sabe o q estou fazendo de errado!
Desde já agradeço

2 Respostas

psandrelli

Posta um trecho da classe que faz a consulta no banco.
Pode ser erro de conversão de tipos.

A
public List pesquisarDT(String data1, String data2, String duracao, String duracao1, String duracao2,
                            String tipo, String importante,
                            String ouvida, String procurar, String hora, String hora1, String hora2, String pa){

        List resultado = null;
        String sql;
        
        
        sql="select * from ligacoes where (data_lig between  ? and ? ) ";
        
        if(!tipo.equals("todas")){
                sql+=" and tipo = ? ";
            }
            if(importante.equals("importante")){
                sql+=" and importante = true ";
            }
            if(ouvida.equals("ouvida")){
                sql+=" and ouvida = false ";
            }
            if (!pa.equals("")){
                sql+=" and pa_atendimento = ? ";
            }
            if(!procurar.equals("")){
                sql+=" and (contato like ? or duracao or observacao like ? or telefone like ? or hora like ?) ";
            }

            if(!hora.equals("")){
                sql+=" and (hora between ? and ?)";
            }
        
            if(!duracao.equals("")){
                sql+="and (duracao between ? and ?)";
            }
        
            if(tipo.equals("todas")){
                sql+="order by [data_lig] desc, [hora] desc";
            }
            else {
                sql+="order by [data_lig] desc, [hora] desc";
            }
        
        try {
            Connection con = Conexao.getConexaoODBC();
            PreparedStatement pstm = con.prepareStatement(sql);
            pstm.setString(1, data1 );
            pstm.setString(2, data2 );
            if(!tipo.equals("todas")){
             pstm.setString(3, tipo );
                   if (!procurar.equals("")) {
                       if(!pa.equals("")){
                           pstm.setString(4, pa);
                           if (!procurar.equals("")) {
                               pstm.setString(5, "%" + procurar + "%");
                               pstm.setString(6, "%" + procurar + "%");
                               pstm.setString(7, "%" + procurar + "%");
                               pstm.setString(8, "%" + procurar + "%");
                           }
                           if (!hora.equals("")){
                               pstm.setString(9, "%" + hora1 + "%");
                               pstm.setString(10, "%" + hora2 + "%");
                           }
                           if (!duracao.equals("")){
                               pstm.setString(11,duracao1);
                               pstm.setString(12,duracao2);
                           }
                       }else{
                           pstm.setString(4, "%" + procurar + "%");
                           pstm.setString(5, "%" + procurar + "%");
                           pstm.setString(6, "%" + procurar + "%");
                           pstm.setString(7, "%" + procurar + "%");
                       }
                   }else{
                       if(!pa.equals("")){
                           pstm.setString(4, pa);
                       }
                   }
            }

            if(tipo.equals("todas")){
                   if(!pa.equals("")){
                           pstm.setString(3, pa);
                           if (!procurar.equals("")) {
                               pstm.setString(4, "%"+procurar+"%");
                               pstm.setString(5, "%"+procurar+"%");
                               pstm.setString(6, "%"+procurar+"%");
                               pstm.setString(7, "%"+procurar+"%");                              
                           }
                           if (!hora.equals("")){
                               pstm.setString(8, "%"+hora1+"%");
                               pstm.setString(9, "%"+hora2+"%");
                           }
                           if(!duracao.equals("")){
                               pstm.setString(10,duracao1);
                               pstm.setString(11,duracao2);
                           }
                           
                    }else {
                        if (!procurar.equals("")){
                            pstm.setString(3, "%" + procurar + "%");
                            pstm.setString(4, "%" + procurar + "%");
                            pstm.setString(5, "%" + procurar + "%");
                            pstm.setString(6, "%" + procurar + "%");
                        }
                   }
            }

            ResultSet rs = pstm.executeQuery();

            if(rs.next()){
                resultado = new ArrayList();

                    do {
                        PesquisaVO pesquisa = preencherpesquisa(rs);
                        resultado.add(pesquisa);
                    } while (rs.next());

            }
            rs.close();
            pstm.close();
            con.close();

            return resultado;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }
no Servlet esta assim:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        HttpSession session = request.getSession();
        Object done = session.getAttribute("logon.isDone");
       
        if(done==null){
           response.sendRedirect("login.jsp");
           return;
        }
        Object uservr =  session.getAttribute("uservr");
        if(done.equals("admin")){
            uservr = "true";
        }
        if(uservr.equals("false")){
           response.sendRedirect("index.jsp");
           return;
        }
        String url = null;
        String rst = "1";
        String data1 = request.getParameter("data1");
        String data2 = request.getParameter("data2");
        String duracao1 = request.getParameter("duracao1");
        String duracao2 = request.getParameter("duracao2");
        String tipo = request.getParameter("tipo");
        String media = request.getParameter("op1");
        String importante = request.getParameter("op2");
        String ouvida = request.getParameter("op3");
        String procurar = request.getParameter("procurar");
        String hora = request.getParameter("hora");
        String hora1 = request.getParameter("hora1");
        String hora2 = request.getParameter("hora2");
        String duracao = request.getParameter("duracao");
        String pa = request.getParameter("pa");
     if (data1 == null) {
       data1 = "";
     }
     if (data2 == null) {
       data2 = "";
     }
        
     if (duracao1 == null){
            duracao1 = "";
     }
        
     if (duracao2 == null){
            duracao2 = "";
     }
     if (tipo == null) {
       tipo = "";
     }
     if (media == null) {
       media = "";
     }

     if (importante == null) {
       importante = "";
     }
     if (ouvida == null) {
       ouvida = "";
     }
     if (procurar == null) {
       procurar = "";
     }
        
     if (hora == null) {
       hora = "";
     }
        
     if (hora1 == null){
       hora1 = "";
     }
        
      if (hora2 == null){
        hora2 = "";
      }
       
     if (duracao == null){
       duracao = "";
     }
     if (pa.equals("todas")) {
       pa = "";
     }

         if(!media.equals("media")){
             PesquisaDAO dao = new PesquisaDAO();
         List resultado = dao.pesquisarDT(data1, data2, duracao1, duracao2, duracao, tipo, importante, ouvida,
                                          procurar, hora, hora1, hora2, pa);
         if (resultado != null) {
             //out.print("carregando");
             //String grid = montaGrid(resultado);
             //request.setAttribute("resultado", resultado);             
             session.setAttribute("resultado", resultado);
             //request.setAttribute("grid", grid);
             url="sites/resultado.jsp";
             //url="resultado";
             request.setAttribute("url",url);
             RequestDispatcher dispacher = request.getRequestDispatcher(
                     "index.jsp");
             dispacher.forward(request, response);
         } else {             
             url="sites/pesquisa.jsp";
             request.setAttribute("rst",rst);
             request.setAttribute("url",url);
             RequestDispatcher dispacher = request.getRequestDispatcher(
                     "index.jsp?data1="+data1+"&data2="+data2);
             dispacher.forward(request, response);

         }
         }else{
             PesquisaDAO dao = new PesquisaDAO();
             List resultado = dao.pesquisarDMT(data1, data2, tipo, media,
                                               importante, ouvida, procurar, pa);
         if (resultado != null) {
             url="sites/resultadomedia.jsp";
             request.setAttribute("url",url);
             request.setAttribute("resultado", resultado);
             RequestDispatcher dispacher = request.getRequestDispatcher(
                     "index.jsp");
             dispacher.forward(request, response);
         } else {
             url="sites/pesquisa.jsp";
             request.setAttribute("rst",rst);
             request.setAttribute("url",url);
             RequestDispatcher dispacher = request.getRequestDispatcher(
                     "index.jsp?data1="+data1+"&data2="+data2);
             dispacher.forward(request, response);

         }

         }

         }
    
    private String montaGrid(List resultado){
        String MTgrid = "";        
        String cor = "ebebeb";
        
     for (Iterator iter = resultado.iterator(); iter.hasNext(); ) {
      PesquisaVO item = (PesquisaVO) iter.next();
  
           MTgrid += "<tr bgcolor='"+ cor +"'>"; 
           MTgrid += "<td align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>" ;
                   
           if(item.isImportante()==true){
           MTgrid += "<img src='componentes/imagens/28.gif' width='19' height='19' >";
           } 
           MTgrid += "</font></td>";
           MTgrid += "<td> <div align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getPa_atendimento() +"</font></div></td>";
           MTgrid += "<td > <div align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>";
           if (item.getTipo().equals("originada")){
           MTgrid += "<img src='componentes/imagens/originada.gif' alt='Liga&ccedil;&otilde;es originadas   ' width='14' height='19'>"; 
           }else if(item.getTipo().equals("recebida")){
           MTgrid += "<img src='componentes/imagens/recebida.gif' alt='Liga&ccedil;&otilde;es recebidas ' width='14' height='19'>"; 
           }else{
           MTgrid += "<img src='componentes/imagens/naoatendida.gif' alt='Liga&ccedil;&otilde;es n&atilde;o atendidas ' width='19' height='19'>"; 
           } 
           MTgrid += "</font></div></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getData_lig() +" </font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getHora() +" </font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getDuracao() +" </font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getTelefone() +" </font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getContato() +" </font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+ item.getObservacao() +" </font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href=\"javascript:popUpWindow('pesquisaid?id="+item.getId() +"', 570, 150, 315, 105)\" " +
                   "onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage('Image6','','componentes/imagens/ouvirh.gif',1)'><img src='componentes/imagens/ouvir.gif' " +
                   "alt='Ouvir Gravação' name='Image6' width='59' height='17' border='0'></a></font></td>";
           MTgrid += "<td> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href=\"BaixarMp3="+item.getId() +" " +
                   "onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage('Image6','','/componentes/imagens/baixar2.gif',1)'><img src='componentes/imagens/baixar2.gif' " +
                   "alt='Fazer Download' name='Image7' width='59' height='17' border='0'></a></font></td>";
           MTgrid += "</tr>" ;
                   
  	if(cor.equals("ebebeb")){
          cor = "d6c9d7";
	}else{
          cor = "ebebeb"; 
        }
    }
        
        return MTgrid;
    }
Criado 16 de janeiro de 2008
Ultima resposta 16 de jan. de 2008
Respostas 2
Participantes 2