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

7 respostas
T

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

G

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!

T

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

R

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.

G

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.

T

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.

G

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!

Q

E ISSO AE NO JAVA? FICA COMO?

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