Metodo para Exbir informações no Vraptor3

5 respostas
mdbatera

Gente, tenho o meu ProdutoDao e o ProdutoController, o que eu quero é quando eu clicar em alterar o ítem vá para uma página mostraprodutos, que lá ela já traz os campos preenchidos.

o jsp ta ok, o lista ta ok!

mas não queria passar os parametros via http, estilo produto.id=3&produto.nome=teste etc etc etc

estou tentando criar um metodo para eliminar isso, mas está dando pau!

public Produto mostraproduto(Produto produto){

return [color=red]produtoDao()[/color].carrega([color=red]Produto.getId()[/color]);

return produto;

}

eu queria que ele retornasse o produto com tudo carregado do banco!

alguém pode me ajudar?

5 Respostas

Lucas_Cavalcanti

como assim vc não quer passar via http? vc quer dizer URL/GET? vc pode usar um form com POST se não quiser que vá por aí…
ou ainda passar dentro da url: /produto/mostraproduto/5

existem erros de digitação no seu código… o certo seria algo do tipo:

public Produto mostraproduto(Produto produto){
     return produtoDao.carrega(produto.getId());
  }

e esse produtoDao vc recebe no construtor e guarda num field…

mdbatera

Isso mesmo, ele agora está pedindo pra eu criar um metodo “carrega” no meu ProdutoDao,

é realmente pra criar o metodo? sabe como seria? rsrss

Valeu!!

Lucas_Cavalcanti

troca por new ProdutoDao().carrega

mdbatera

eu tentei so que ainda não esta carregando os itens,

eu fiz no ProdutoController,

public Produto mostraproduto(Produto produto){

new ProdutoDao().carrega(produto.getId());

return produto;

}

 que o carrega ainda fica sublinhado, ai ele pediu pra criar o metodo no ProdutoDao:
public void carrega(Long id) {
	// TODO Auto-generated method stub
	
}

O objetivo é que quando clicamos em alterar no lista.jsp ele abra o mostra.jsp já carregado com os itens do produto…

mdbatera

Velho Resolvi!!!

no controller:

public Produto mostraproduto(Produto produto){

return new ProdutoDao().carrega(produto.getId());
}
no produtodao:

public Produto carrega(Long id) {

return (Produto)session.load(Produto.class,id);		

}

Valeuu!!

Criado 23 de fevereiro de 2010
Ultima resposta 24 de fev. de 2010
Respostas 5
Participantes 2