Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 15 - Desenvolvendo uma livraria virtual – Parte 4

Mostrar conteúdo do carrinho II

Por fim, devemos criar os links para Continuar comprando, Finalizar compra e de Esvaziar carrinho de compras:

AخA
1
    <c:url var="url" value="/livros/catalogo" >
2
        <c:param name="Add" value="" />
3
    </c:url>
4
    <strong><a href="${url}">Continuar comprando</a>
5
    <c:url var="url" value="/livros/comprar" />
6
    <a href="${url}">Finalizar compra</a>
7
    <c:url var="url" value="/livros/mostrarCarrinho" >
8
      <c:param name="limpar" value="limpar" />
9
      <c:param name="remover" value="0" />
10
    </c:url>
11
    <a href="${url}">Esvaziar carrinho</a></strong>
12
    </c:if>

Para que as operações de remover e de limpar possam funcionar, você deve alterar o código do Servlet controlador para considerar essas ações por meio do código mostrado a seguir que deve ser adicionado logo após o bloco onde é executada a verificação se a ação selecionada é “/livros/catalogo”.. Note que se a URL /livros/mostrarCarrinho receber o id de um livro como parâmetro, ele será removido do carrinho. Além disso, se o parâmetro limpar tiver como valor a String “limpar”, o carrinho será esvaziado (remoção de todos os itens). Isso está consistente com o código JSP que acabamos de ver. Em caso de dúvida, olhe novamente o código JSP mostrado anteriormente para verificar isso.

13
1
    else if (acaoSelecionada.equals("/livros/mostrarCarrinho")) {
2
            idLivro = request.getParameter("remover");
3
             
4
        if (idLivro != null) {
5
            carrinho.remover(idLivro);
6
        }
7
                 
8
        limpar = request.getParameter("limpar");
9
            
10
        if ((limpar != null) && limpar.equals("limpar")) {
11
            carrinho.limpar();
12
        }
13
    }

Vamos aproveitar e adicionar algumas mensagens ao sistema? Logo depois da declaração de uso do bean LivrariaBean, podemos colocar o seguinte código:

22
1
     <c:if test="${param.limpar == 'limpar'}">
2
    <font color="red" size="+2">
3
        <strong>O carrinho de compras foi esvaziado!</strong><br> <br>
4
    </font>
5
</c:if>
6
<c:if test="${param.remover != '0'}">
7
    <c:set var="id" value="${param.remover}"/>
8
    <jsp:setProperty name="livrariaBean" property="idLivro" value="${id}" />
9
    <c:set var="livroRemovido" value="${livrariaBean.livro}" />
10
    <font color="red" size="+2">O seguinte livro foi removido do carrinho:
11
        <em>${livroRemovido.titulo}</em>.
12
        <br> <br>
13
    </font>
14
</c:if>
15
<c:if test="${sessionScope.cart.numeroItens <= 0}">
16
    <font size="+2">Carrinho vazio</font>
17
    <br> <br>
18
    <c:url var="url" value="/livros/catalogo" >
19
        <c:param name="Add" value="" />
20
    </c:url>
21
    <strong><a href="${url}">Ver catálogo</a></strong>
22
</c:if>

Isso fará com que uma mensagem de confirmação seja apresentada nos casos de esvaziar o carrinho ou de remover um livro dele. Além disso, incluímos uma mensagem de que o carrinho está vazio com um link para a página do catálogo para facilitar a navegação do usuário após ter esvaziado o carrinho. Olhe atentamente o código JSP mostrado e observe o uso das instruções JSP responsáveis pela apresentação dessas mensagens. As Figuras 3, 4 e 5 ilustram isso.

Figura 03 - Carrinho de compras com dois livros
 Carrinho de compras com dois livros
Figura 04 - Carrinho de compras com um dos livros removidos
Carrinho de compras com um dos livros removidos
Figura 05 - Carrinho de compras esvaziado
Carrinho de compras esvaziado

Versão 5.3 - Todos os Direitos reservados