Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Desenvolvimento Web I / Aula
Por fim, devemos criar os links para Continuar comprando, Finalizar compra e de Esvaziar carrinho de compras:
<c:url var="url" value="/livros/catalogo" >
<c:param name="Add" value="" />
</c:url>
<strong><a href="${url}">Continuar comprando</a>
<c:url var="url" value="/livros/comprar" />
<a href="${url}">Finalizar compra</a>
<c:url var="url" value="/livros/mostrarCarrinho" >
<c:param name="limpar" value="limpar" />
<c:param name="remover" value="0" />
</c:url>
<a href="${url}">Esvaziar carrinho</a></strong>
</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.
else if (acaoSelecionada.equals("/livros/mostrarCarrinho")) {
idLivro = request.getParameter("remover");
if (idLivro != null) {
carrinho.remover(idLivro);
}
limpar = request.getParameter("limpar");
if ((limpar != null) && limpar.equals("limpar")) {
carrinho.limpar();
}
}
Vamos aproveitar e adicionar algumas mensagens ao sistema? Logo depois da declaração de uso do bean LivrariaBean, podemos colocar o seguinte código:
<c:if test="${param.limpar == 'limpar'}">
<font color="red" size="+2">
<strong>O carrinho de compras foi esvaziado!</strong><br> <br>
</font>
</c:if>
<c:if test="${param.remover != '0'}">
<c:set var="id" value="${param.remover}"/>
<jsp:setProperty name="livrariaBean" property="idLivro" value="${id}" />
<c:set var="livroRemovido" value="${livrariaBean.livro}" />
<font color="red" size="+2">O seguinte livro foi removido do carrinho:
<em>${livroRemovido.titulo}</em>.
<br> <br>
</font>
</c:if>
<c:if test="${sessionScope.cart.numeroItens <= 0}">
<font size="+2">Carrinho vazio</font>
<br> <br>
<c:url var="url" value="/livros/catalogo" >
<c:param name="Add" value="" />
</c:url>
<strong><a href="${url}">Ver catálogo</a></strong>
</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.
Versão 5.3 - Todos os Direitos reservados