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?
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…
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!!
troca por new ProdutoDao().carrega
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;
}
só 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…
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!!