Assim, eu gostaria de pegar o nome de uma cidade, a partir de uma lista de estados…
Só q tenho uma classe q define Pessoa, e dentro dela, tem a classe Endereço, onde estão rua e coisas do tipo, e dentro dessa classe tem outra, Cidades…
Tenho definidas classes Estado e Cidade, como modelos… e também as DAOs para fazer a consulta no banco de dados, que é onde está a lista de estados e cidades…
Então, quando chego na página JSP gostaria que ela mostrasse uma select de estado, e quando o usuário clicar no estado, atualizar a outra select com as cidades do estado. Sei que para isso tem q usar um JavaScript, pelo evento onclick().
Onde estou enroscada é como declarar a nested:select…
Tenho um Bean Pessoa, e dentro desse Bean, tem Endereço (uma classe Endereço dentro da classe Pessoa), e na classe Endereço tem uma classe Cidade.
Onde é q boto tudo isso na select? =P
A “melhor” maneira de se fazer isso é usando Ajax, tecnologia empregada no GMail.
Por que é melhor?
Bom porque não irá submeter sua página inteira só para trazer uma lista de cidades, porém como não conheço muito bem a tecnologia não poderei dar dicas de como fazer, talvez alguém aqui do fórum possa, ou você prefira estudar isso a parte, o que não seria má idéia
Eu estou acostumado a fazer assim. Sua página jsp deve ter dois combos um contendo os estados e outro contendo as cidades. Estes combos serão preenchidos quando o Evento onchange=“javascript:bla()” for acionado. A primeira lista deverá vir preenchida com os estados e quando um estado for selecionado, o onchange será ativado, neste momento você deve pegar o valor do seu combo que deverá ser algo do tipo “SP” e submeter para a sua action.
Na action você irá pegar o valor do estado e montar um objeto Estado. depois você irá executar um método no DAO de cidades do tipo findByEstado(Estado estado), este método irá fazer o select na tabela de cidades WHERE estado = “SP”, depois, com a lista de cidades na action você irá fazer um request.setAttribute(“estados”, estados). Na sua página jsp deverá de algum modo verificar se este atributo está presente, quando este atributo “estados” estiver presente, você deverá montar seu combo com esta lista.
Ufa! … Será que deu pra entender? Tomara. :thumbup: