Ir para conteúdo
Fórum Script Brasil
  • 0

Carregar Dados No Jsp Ao Selecionar Opção Em Combo


barbinha

Pergunta

Pessoal,

Na minha tela de cadastro tenho uma combobox onde o usuário escolherá uma opção e após a escolha o sistema terá que fazer uma busca no banco de dados para carregar alguns dados que já existem cadastrados sobre o registro escolhido na tela.

Como poderia fazer isso com jsp?

Tenho a seguinte classe para buscar os dados:

private static PreparedStatement sqlFind;

private static ResultSet rs;

private carro s;

public ArrayList getCarro() throws SQLException {

ArrayList listaCarros = new ArrayList();

sqlFind = connection.prepareStatement("SELECT ID, NOME, DESCRICAO, ANO " +

"FROM CARRO " +

"ORDER BY NOME");

rs = sqlFind.executeQuery();

while (rs.next()) {

Carro s = new Carro();

s.setId(rs.getInt(1));

s.setNome(rs.getString(2));

s.setDescricao(rs.getString(3));

s.setAno(rs.getInt(4));

listaCarros.add(s);

}

return listaCarros;

}

Quando o usuário selecionar o ID, que está sendo exibido no combobox, que existe nessa tabela, nos campos correspondentes da tela deverão aparecer os outros dados (nome, descricao, ano).

Muito obrigada

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bem, para atualizar o ComboBox, ou você usa XHTML, ou um Refresh. O pessoal do HTML/CSS pode te ajudar mais com isso, se precisar. Eu nunca usei XHTML, mas com refresh seria assim: você, ao escolher, envia para o servidor a requisição de que carros listar (pelo metodo POST). Este, de posse dessa informação, prepara a lista e já monta a página com as opções corretas. No caso de nenhum filtro ser mencionado (como é o caso de quem abriu a página pela primeira vez), você não mostra o segundo combobox. Uma terceira opção seria fazer com JavaScript. No caso, então, os vetores dentro do script seriam montados dinâmicamente pelo JSP com os dados recebidos do bd. wink.gif

ps.: O seu código está com alguns problemas bem visiveis. Não chegam a atrapalhar agora, mas, em um futuro próximo, podem te dar muita dor de cabeça.

Primeiro: SQL dentro do código nunca é uma coisa boa. Se você mudar de banco de dados, precisará recompilar as classes. Isso se você ainda lembrar aonde estavam as consultas. O ideal é criar um objeto que gerencie todas as conexões e devolva as listas prontas. Esse objeto leria as consultas SQL de um arquivo XML, por exemplo, bem como os parametros de conexâo. Assim, se você mudar o BD, basta editar o XML.

Segundo: O objeto que instancia um outro objeto não deve saber nada do seu funcionamento interno, deve apenas receber o resultado dos seus serviços. Fazendo como você fez (construtor vazio + javaBeans), o seu código está quebrando o encapsulamento e, portanto, violando um importante principio da OOP. Pra corrigir isso, basta colocar todos esses sets aí dentro do proprio construtor. Se houver mais de um tipo de carro, então você pode criar um Factory (se quiser, explico melhor).

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...