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

arrow_back Aula 12 - Adotando o jQuery no Sistema da Livraria

Arquivos fontes modificados

A seguir, você pode ver os arquivos modificados em suas versões completas, já com as novas funções Javascript utilizando o jQueryo jQuery. O código comentado em cada função seria sua versão usando Javascript puro, sem o jQuery para se obter um efeito similar. Começamos pelo arquivo catalogo.jsp, da pasta livros:

play_circle_filled
Vídeo 04 - Animate CSS
x
1
<%@ include file="/cabecalho.jsp" %>
2
<script type="text/javascript">
3
4
function verCarrinho(limpar,remover){ 
5
                  
6
    //var url = "mostrarCarrinho?limpar="+limpar+"&remover="+remover; 
7
    //var options = "height=500,width=700,location=no,menubar=no,resizable=no,scrollbars=no,titlebar=no, status=no, toolbar=no"; 
8
    //    
9
    //window.open(url,"carrinho",options,true);    
10
11
    var url = "mostrarCarrinho?limpar="+limpar+"&remover="+remover; 
12
    $("#carrinho").load(url); 
13
    $("#carrinho").dialog({ 
14
        height:600,
15
        width:700,
16
        modal:true, 
17
        title:"Carrinho de Compras" 
18
        });
19
}
20
21
function verDetalhes(url){ 
22
      
23
    // Sem jQuery 
24
    //var catalogo = document.getElementById("catalogo").attributes; 
25
    //catalogo.getNamedItem("style").nodeValue="visibility: hidden; height: 0px;"; 
26
27
    // Com jQuery 
28
    $("#catalogo").hide(); 
29
    carregarDetalhes(url);
30
            
31
}
32
33
function verCatalogo(){ 
34
      
35
    // Sem jQuery 
36
    //var catalogo = document.getElementById("catalogo").attributes; 
37
    //catalogo.getNamedItem("style").nodeValue=""; 
38
    // 
39
    //var detalhes = document.getElementById("detalhes").attributes; 
40
    //detalhes.getNamedItem("style").nodeValue="visibility: hidden; height: 0px;"; 
41
42
    // Com jQuery 
43
    $("#catalogo").show(); 
44
    $("#detalhes").hide();  
45
            
46
}
47
48
function carregarDetalhes(url){ 
49
50
    // Sem jQuery 
51
    /* 
52
    var ajaxReq = new XMLHttpRequest();
53
    ajaxReq.onreadystatechange = function() {
54
        if (ajaxReq.readyState == 4 && ajaxReq.status == 200) {
55
              var resp = ajaxReq.responseText;
56
              var detalhes = document.getElementById("detalhes");
57
              detalhes.innerHTML=resp;
58
              detalhes.attributes.getNamedItem("style").nodeValue="";
59
        }
60
    };
61
62
    ajaxReq.open("GET", url, true);
63
    ajaxReq.send();
64
    */
65
66
    // Com jQuery 
67
    $("#detalhes").load(url); 
68
    $("#detalhes").show(); 
69
      
70
}
71
72
function adicionarLivro(url){ 
73
74
    // Sem jQuery 
75
    /* 
76
    var ajaxReq = new XMLHttpRequest();
77
    ajaxReq.onreadystatechange = function() {
78
        if (ajaxReq.readyState == 4 && ajaxReq.status == 200) {
79
              var resp = ajaxReq.responseText;
80
              var livroAdicionado = document.getElementById("livroAdicionado");
81
              livroAdicionado.innerHTML="Você adicionou o livro <em>"+ resp +"</em> ao seu carrinho de compras.";
82
        }
83
    };
84
85
    ajaxReq.open("GET", url, true);
86
    ajaxReq.send();
87
    verCatalogo();
88
    */
89
90
    // Com jQuery 
91
    $("#carrinhoVazioMsg").hide(); 
92
    $.get(url, function(dados){ 
93
        $("#livroAdicionado").html("Você adicionou um livro ao seu carrinho de compras.");
94
    });
95
    $('#carrinhoVazioMsg').hide();
96
    $('#carrinhoLinks').show();  
97
    verCatalogo();
98
    verCarrinho();
99
}
100
</script>
101
        <jsp:useBean id="livrariaBean" class="livraria.negocio.LivrariaBean" scope="page" >
102
            <jsp:setProperty name="livrariaBean" property="sistema" value="${sistemaLivraria}" />
103
        </jsp:useBean>
104
        
105
        <p><h3><font id="livroAdicionado" color="red" size="+2"> </font></h3></p>
106
        
107
        <div id="carrinhoLinks" style="display: none;">
108
        <c:url var="url" value="javascript:verCarrinho(0,0)">
109
        </c:url>
110
        <p>
111
            <a href="${url}">Ver carrinho de compras</a>
112
            <c:url var="url" value="/livros/comprar" />
113
            <a href="${url}">Finalizar compras</a></strong>
114
        </p>
115
        </div>
116
        <div id="carrinhoVazioMsg" style="display: none;">Seu carrinho de compras está vazio.</div>
117
        <c:choose> 
118
             <c:when test="${sessionScope.cart.numeroItens > 0}">
119
                <script type="text/javascript">
120
                    $('#carrinhoVazioMsg').hide();
121
                    $('#carrinhoLinks').show();
122
                </script>
123
             </c:when> 
124
             <c:otherwise>
125
                <script type="text/javascript">
126
                    $('#carrinhoVazioMsg').show();
127
                    $('#carrinhoLinks').hide();
128
                </script>
129
             </c:otherwise> 
130
        </c:choose> 
131
        <br>
132
        <br>
133
        <div id="carrinho">
134
        </div> 
135
          
136
        <div id="detalhes">
137
        </div>
138
        
139
        <div id="catalogo">
140
          <h3>Livros disponíveis para compra:</h3>
141
          <%
142
          // variável buscarValue mantem o termo de busca no formulário ou colocar uma string vazia.
143
          String buscarValue = request.getParameter("buscar");
144
          if (buscarValue == null) {
145
              buscarValue = "";
146
          }
147
          %>
148
          <form method="GET">
149
            <input type="hidden" name="Add" value="" />
150
            Busca: <input type="text" name="buscar" value="<%= buscarValue %>" />
151
            <input type="submit" value="Buscar" />
152
          </form>
153
          <table summary="layout">
154
             <c:forEach var="livro" begin="0" items="${requestScope.livros}">
155
             <tr>
156
                <c:set var="idLivro" value="${livro.idLivro}" />
157
                <td bgcolor="#ffffaa"> 
158
                   <c:url var="url" value="/livros/detalhesLivro" >
159
                      <c:param name="idLivro" value="${idLivro}"/>
160
                   </c:url>
161
                   <strong><a href="javascript:verDetalhes('${url}');"><strong>${livro.titulo}</strong></a>
162
                </td>  
163
                <td bgcolor="#ffffaa" rowspan=2>
164
                    <fmt:formatNumber value="${livro.preco}" type="currency"/> 
165
               </td> 
166
               <td bgcolor="#ffffaa" rowspan=2> 
167
                  <c:url var="url" value="/livros/catalogo" >
168
                     <c:param name="Add" value="${idLivro}"/>
169
                  </c:url>
170
                  <a href="javascript:adicionarLivro('${url}')"> Adicionar livro ao carrinho </a>
171
               </td>
172
             </tr> 
173
             <tr> 
174
               <td bgcolor="#ffffff"> 
175
                    <em>${livro.autores} </em>
176
               </td>
177
             </tr>
178
             </c:forEach>
179
          </table>
180
        </div>
181
182
<%@ include file="/rodape.jsp" %>

Versão 5.3 - Todos os Direitos reservados