Colega, a idéia do carrinho é simples pra dizer a verdade, basicamente você precisa de um objeto que vai ter uma coleção com os produtos e suas quantidades, e que fique persistido entre as páginas visitadas.
Normalmente, fica na sessão do usuário, então quando você aperta em algum botão ou link, ele adiciona o produto e a quantidade nesse objeto de sessão.
Há também uma página que lista e permite alterar quantidades ou excluir o produto.
Carrinho de compra é algo muito simples como dito acima…o complexo é a integração com canais de pagamento, concorrência de produtos, integração com os correios (frete), aplicação de desconto sobre regra, remoção de frete sonre regra e por aí vai
Item e Quantidade Solicitada… Escolhi 04 itens e finalizei a requisicao.
caneta 10
papel 01
lapis 12
teclado 01
Entao, eu tenho q pegar o codigo desses itens, jogar em um metodo p poder achar o objeto referente ao item e salvar o codigo dos 4
itens em outra tabela (com suas respectivas quantidades). Ate ai tudo bem
O problema q eu tenho q listar essa requisicao, e colocar em cada item a quantidade Atendida(ai ja eh em outra tela). Tem uma permissao no meu sistema q da
acesso a essa parte (ROLE_USUARIO_VIP)… Eu tenho tudo isso pronto, mas sem carrinho de compras. Tipo, cada item escolhido eh uma requisicao…
Eh mais ou menos isso… Mas primeiro vou tentar fazer o carrinho e depois jogar esses dados no banco. Uma coisa de cada vez, rs !
Vcs tem algum exemplo de um carrinho de compras ? Ate agora nao achei muita coisa nao.
Cara você ‘não pode’ trabalhar com carrinho usando somente requisições, é necessário criar uma sessão…Sem uma sessão vai ficar trabalhoso e honeroso construir esse ‘módulo’.
Entao, fiz o tal o carrinho… So estou com um problema: Eu add 3 elementos no array, mas ele so aparece o ulltimo elemento q eu add (3x) pq eu adicionei 3 elementos.
EX:
Caneta 5
Mouse 2
copo 12
Ele mostra assim na pagina jsf:
copo 12
copo 12
copo 12
@ManagedBean(name="carrinhoBean")
@SessionScoped
public class CarrinhoBean implements Serializable{
private static final long serialVersionUID = 7810729837634865242L;
private String nomeItem;
private int quantidadeItem;
public String car;
// getts e setters
private List<CarrinhoBean> lista = new ArrayList<CarrinhoBean>();
public List<CarrinhoBean> listar() {
return this.lista;
}
public String insere() {
lista.add(this);
System.out.println(lista.toString());
return null;
}
public String remove() {
lista.remove(this);
return null;
}
public List<CarrinhoBean> getLista() {
for(int i = 0; i < lista.size(); i++){
if (this.lista == null || this.lista.isEmpty()) {
CarrinhoBean carrinhoBean = new CarrinhoBean();
this.lista = carrinhoBean.listar();
}
}
return this.lista;
}
public void setLista(List<CarrinhoBean> lista) {
this.lista = lista;
}
}