O que eu quero

9 respostas
Diana

o que eu quero exatamente eh o seguinte…quero uma select que seja preenchida de acordo com o valor que escolho na primeira select…por exemplo se na primeira eu escolher ‘Brasil’ na segunda serah preenchida os estados brasileiros…
tentei fazer alguma coisa com taglib.http://www.guj.com.br/forum/viewtopic.php?t=13661(ninguem respondeu!)…mas tive dois problemas:
1-toda vez que eu dou um f5 na pagina os dados dentro do select sao duplicados/triplicados…
2-quando eu escolho o valor na primeira select naum dah nada…

O estah errado?

9 Respostas

pcalcado

Diana, novamente um toque:

[list]

  1. Estude algoritmos
  2. Estude programação
  3. Estude Java
  4. Estude Servlets
  5. Estude XHTML
  6. Estude JSP
  7. Descarte JSP
  8. Estude algum framework
  9. Continue estudando…
    [/list]

Atropelando estes passos você só vai se prejudicar, visto que por mais que respondamos, você acaba não entendendo.

[]s

Jair_Rillo_Junior

e ponha um título no topico um pouco mais direto com a sua dúvida

Diana

1 - Esse topico saiu errado, ele era para ser um adendo em outro…por isso ficou com esse titulo estranho…
2 - Na minha concepcao um forum eh para trocar ideias/conhecimentos…passar dicas adiante…
Quem eh retentor de codigo naum deve participar de foruns…

1) Estude algoritmos 
2) Estude programação 
3) Estude Java 
4) Estude Servlets 
5) Estude XHTML 
6) Estude JSP 
7) Descarte JSP 
 Estude algum framework 
9) Continue estudando...

Hellooooooo!!! :shock:
Acho que ninguem em sa conciencia vai simplesmente jogar as instrucoes na tela e ficar rezando para que funcionem, naum eh…
Sinceramente…Eu postei a duvida(sim, pq se surgiu eh pq eu tive que estudar muuuuuito para produzir algo e dar errado,soh dah errado se vc tenta fazer,),quem quiser dar um toque fica a vontade…quem naum quiser naum dah…DEMOCRACIA…

[]'s

urubatan

poste parte do código desta página para que fique mais fácil ver o que ocorreu de errado.

e uma coisa, pelo que você escreveu, parece que esta colocando SQL dentro da JSP (mesmo utilizando taglibs) é uma péssima idéia.

uma estrutura MVC em 99.[telefone removido]% das vezes é uma pedida muito melhor.

Diana

Codigo da taglib

public int doStartTag() throws JspException{ 
      try{ 
         con=new Conexao(); 
         if(cliente!=null){ 
             
            /***Pega somente a parte inteira do codigo***/ 
            String idString = cliente; 
            StringTokenizer st = new StringTokenizer(idString,"-"); 
            String idInt[] = new String[st.countTokens()]; 
            int p = 0; 
            while (st.hasMoreTokens()) { 
            idInt[p] = st.nextToken(); 
            System.out.println(idInt[p]); 
            p++; 
            } 
            /**/ 
             
            rs=con.executeQuery("select codigo,nome from os_contatos where cliente="+Integer.parseInt(idInt[0])+" order by codigo"); 
         }/**else{ 
         rs=con.executeQuery("select * from midias order by titulo"); 
         }**/ 
         setVariaveis(); 
      }catch(SQLException e){ 
         System.out.println(e); 
      } 
      if(pc.getAttribute("nome")==null) 
      return SKIP_BODY; 
       
      return EVAL_BODY_BUFFERED; 
   }

segue o html do select que recebe o resultado

<select name="solicitante" id="solicitante"> 
        <% 
        String tem=(String)request.getParameter("cliente"); 
         if (tem!=null && !tem.equals("...")){ 
         %> 
         <preencher:mostresolicitantes cliente='<%=tem%>'> 
         <option selecte><%=codigo%>-<%=nome%></option> 
         </preencher:mostresolicitantes> 
         <%}%> 
          </select>

segue o select que chama a acao

<select name="cliente" id="cliente" onChange="CadOs.jsp"> 
         <option selected>...</option> 
        <preencher:mostreclientes> 
         <option select><%=codigo%>-<%=nome%></option> 
        </preencher:mostreclientes> 
          </select>

o que estah errado para que ele naum preencha o segundo select???


pcalcado

Diana,
Pelos seus tópicos anteriores, dá rpa perceber que você está tentando aprender uma coisa antes da outra, mas ok, isto é problema seu. Só não reclame se ninguém responder, já que você quer aprender física sem saber somar. Aliás, por favor não abra dois tópicos com a mesma dúvida.

Se você estudou tanto assim, deveria ter começado pelo primeiro capítulo do livro, ou por um livro básico. Sim, as pessoas jogam cosias na tela e ficam esperando que funcione, e é exatamente isto que você está fazendo.

Mas novamente: é problema seu. Só não reclame das resposta que obtiver, ou que não obtiver. A escolha pelo ‘voodoo programming’ foi sua…

Diana

Na boa, naum estou reclamando do que naum obtive…
o quero deixar bem claro eh o seguinte…:‘quem quiser dar um toque, blx, quem naum quiser, tudo bem…’

Naum quis ser grossa…naum foi minha intencao.

Rafael_Steil

Diana, vc sabe usar um Debugger? muitos dos problemas voce ira resolver simplesmente colocando um breakpoint no teu codigo e ir passando ele ponto por ponto. Dessa maneira, voce pode encontrar variaveis que nao estao sendo inicializadas, outras que nao estao sendo limpas ( que proavelmetne deve ser um dos teu casos, em relacao a duplicacao de valores ) e assim por diante.

Rafael

urubatan

primeiro:
nunca faça isto:con.executeQuery("select codigo,nome from os_contatos where cliente="+Integer.parseInt(idInt[0])+" order by codigo"); aprenda a utilizar PreparedStatement para evitar o perido de SQL Injection

segundo, você precisa fechar a conexão depois de utilizar ela (nem que seja para devolver ela para o pool.

terceiro, estude melhor HTML, a tag option tem a opção value, que ja envia apenas o valor, sem a necessidade de você ter de fazer parsing de strings.

e por ultimo, não sei exatamente o que “setVariaveis” faz, mas aparentemente esta ai o problema, e lembre-se de resetar todas as variaveis de instancia no metodo doEndTag

Criado 2 de julho de 2004
Ultima resposta 2 de jul. de 2004
Respostas 9
Participantes 5