Como carregar um combo box apartir de um clique em outro combo box usando JSP + VRaptor ? -Resolvido

7 respostas
Tenkara_Kiddo

Boa noite Galera,
estou com uma duvida das mais crueis, fiquei adepto ao VRaptor 3 a pouco tempo pelo desenvolvimento agil, e encontrei o seguinte problema:

o sistema é na verdade um cadastro de carros,
um carro tem uma marca, e uma marca tem um modelo,
ou seja para cadastrar um novo carro eu preciso carregar meus modelos de carros de acordo com a marca escolhida, no caso eu teria duas caixas de combo box, e preciso que ao clicar na marca “Ford” o combo de modelos carregue todos os modelos da marca “Ford”,a parte de pegar do banco eu consegui fazer, o meu dilema é como utilizar um evento dentro de um combo box na JSP, usando VRaptor 3

fiquei na maior duvida, desde ja muito obrigado.
caso alguem não tenha entendido a dúvida é so falar que eu explico de novo XD
brigadão abraço a todos.

*fiz uma busca no forum, mais achei somente um link quebrado heuehe
http://www.guj.com.br/posts/list/137472.java

valeu,…

7 Respostas

Guevara

Olá!
Vc pode aproveitar esta dica de combobox dinâmico de estado e município com VRaptor, é só adaptar para o seu caso:
http://tnogueira.com/blog/2010/04/28/carregando-combo-de-estado-e-municipios-utilizando-ajax-com-jquery-json-e-vraptor-3-1-2/
Abraço!

Tenkara_Kiddo

Oppaaaa, brigadão…
vou testar aqui… valeu, abraços

rogelgarcia

Pra vc ficar com água na boca…

No Next Framework seria assim:

<n:comboReloadGroup>
     <t:property name="modelo.marca"/>
     <t:property name="modelo"/>
</n:comboReloadGroup>

Nenhum código em nenhum outro lugar é necessário…

Vai o link pra vc dar uma olhada: http://www.nextframework.org

Tem uns videos que dá pra vc ter uma noçao…

Tem um artigo na revista MundoJ desse mes (no. 42) sobre ele.

Guevara

Pesquisando no Google achei um tópico do GUJ onde um membro sugere usar taglib e javascript:
http://www.guj.com.br/posts/list/38260.java
Achei a idéia mais “limpa”, embora ele use Servlet ao invés de VRaptor, acho que dá pra resolver da seguinte forma:
Criando um Combo dinâmico sendo alimentado com <c:forEach>, poderia usar uma funçãozinha javascript para capturar o código do carro e passar esse código para o Controller, daí em diante é mole, o Controller passa pra DAO, a DAO responde, o Controller envia a marca do carro com result.include e preenche o combo referente a marca do carro, o mesmo seria feito com o modelo do carro.
A única dúvida é se uma função javascript é capaz de passar parâmetro para um Controller, ou se um Controller é capaz de receber parâmetro de uma função javascript, pq se der, dá pra fazer um combo dinâmico usando javascript e jstl apenas. O código seria drásticamente reduzido.

Tenkara_Kiddo

Valeu galera,
mais parece que sou meio useless eriairairiairiairairia
tentei tentei tentei tentei com Ajax, e nada mta zika pra minha cabeça, resolvi dividir a tarefa em duas partes de carregamento da minha página
primeiro seleciono a marca e quando clicar em próximo aciono a inserção de modelos daquela marca de veiculo.

eu realmente fiquei com agua na boca, gostei muito da alternativa do Next Framework rogelgarciam deve ser mto bom o Next vou procurar aprender um pouco sobre ele futuramente,
e muito obrigado Guevara pela dica com Ajax gostei muito do artigo vou procurar aprender mais sobre o Ajax HardWorking ! futuramente

valeu pela dica,
abraços.

Guevara

Tenkara, dá pra fazer com Ajax, eu consegui passar parâmetro pro Controller usando Ajax, veja:

<script type="text/javascript">
$(document).ready(function() {
$("select.marca").click(function() {
// inicio do codigo ajax

var marca = "${automovel.marca}"; 
// ou armazenar alguma id da marca
var id = $(this).val(); // pega o valor do seu select class="marca"

$.post('/concessionaria/cadastro/automovel/algumMetodo', 
        {'marca': marca},        
        function() {  
        window.location.reload(),            	
});

// final do ajax	
	});
});
</script>

Dessa forma vc envia a id da marca ou o nome da marca e passa pra algum método no seu Controller, depois vc repassa isso pra DAO e recupera a informação mandando popular outro select lá na sua JSP, depois vc cria outra função Ajax pra modelo seguindo essa idéia ai.
Abraço!

quaresma

E ISSO AE NO JAVA? FICA COMO?

Criado 22 de julho de 2010
Ultima resposta 5 de fev. de 2011
Respostas 7
Participantes 4