Como implementar um Pedido de Compra em JSF (Carrinho)?

0 respostas
thimor

Ola. Estou tendo um pouco de dificuldade para implentar um pedido. Talvez seja pela forma que estou fazendo. Gostaria de saber se algum de voces me da uma luz. A situacao eh a seguinte:

Tenho o Pedido e tenho os Itens do pedido. O pedido eu crio no Bean Pedido e os Itens eu crio no Bean Itens. Ate ai tudo certo. Se eu realizar o cadastro do pedido separado na pagina que o netbeans criou e depois for na pagina do item e selecionar o pedido e o produto e setar os outros campos, funciona. Porem nao eh nenhum pouco funcional. O que eu fiz:

1 - Preencho os dados do pedido. (nao persisto)
2 - Um Link me direciona para pagina de selecao dos produtos do pedido.
3 - Seleciono um produto para o pedido e a action me direciona para pagina de criacao do item(preco de compra, quantidade, etc).
4 - Ao confirmar a criacao do item, o mesmo eh colocado em uma colecao e o a pagina de selecao dos itens e chamada novamente. O processo se repete ate concluir todos os produtos desejados
5 - Ao adicionar todos os itens necessarios, um link direciona para a pagina do pedido, enviando para o Bean pedido a colecao de itens criadas, para poder ser dado o create().

Aonde esta o problema:
Quando eu pego o objeto itens e envio para o bean pedido, o objeto sempre vai vazio. estou utilizando o <f:param>. Se eu inverter, colocar todo esse controle para o bean pedido, quando eu crio o objeto item e o envio para o bean Pedido, ele tambem chega vazio. Esse envio/recuperacao de parametros so esta funcionando se o objeto ja estiver persistido no banco de dados. se nao tiver ocorrido a persistencia ele nao recupera os objetos, pois os mesmos ainda estao com ID = null. O problema eh esse? Os objetos passados por parametros nao ter um id! Eu devo primeiro persistir os objetos para depois recuperar seus IDs do banco e assim conseguir passa-los de um Bean para outro? Alguem tem algum exemplo similar para este caso?

Fico grato e esperando a ajuda dos colegas.

Criado 18 de julho de 2008
Respostas 0
Participantes 1