Java web 6 JSP Expression Language Taglib parte 2

1,208 views

Published on

Utilização de Expression Language e c:if

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,208
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
63
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Java web 6 JSP Expression Language Taglib parte 2

  1. 1. JSP & Servlets Expression Language Técnicas de Programação FA7 Prof.º Eduardo Mendes
  2. 2. Servlet public void doGet( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Cerveja ce = new Cerveja(); request.setAttribute(“cerva”, ce); RequestDispatcher dispatcher = request.getRequestDispatcher("cervejas.jsp"); dispatcher.forward(request, response); }
  3. 3. Código Jsp Recuperando o atributo <html> <body> Marca da cerveja é: <%=((Cerveja) request.getAttribute(“cerva”)).getMarca() %> <br/> Tamanho da cerveja é: <%=((Cerveja)request.getAttribute(“cerva”)).getTamanho()%> </body> </html>
  4. 4. Código Jsp Recuperando o atributo com EL <html> <body> Marca da cerveja é: ${cerva.marca} <br/> ((Cerveja) request.getAttribute(“cerva”)).getMarca() Tamanho da cerveja é: ${cerva.tamanho} ((Cerveja) request.getAttribute(“cerva”)).getTamanho() </body> </html> Substitui: <%= ((Cerveja) request.getAttribute(“cerva”)).getMarca() %>
  5. 5. Descontruindo a El !  Expressões El !  Entre Chaves !  Pré-fixadas com um cifrão pageScope requestScope sessionScope applicationScope param paramValues outros No escopo de página No escopo de requisição No escopo de sessão No escopo de aplicação
  6. 6. Operador Ponto !  Se a expressão é seguida de um ponto, o lado esquerdo deve ser um Map ou um bean
  7. 7. Operador Ponto !  O que há do lado direito deve ser o índice de um Map ou a propriedade de um bean
  8. 8. O operador [] !  Isto: !  É a mesma coisa que:
  9. 9. O operador [] fornece mais opções Se a expressão tem uma variável seguida por [], a variável do lado esquerdo pode ser um Map, um bean, um List ou um Array
  10. 10. O operador [] fornece mais opções !  Se a coisa dentro dos colchetes é uma String literal, ela pode ser o índice de um Map ou a propriedade de um bean ou um índice de um List ou de um Array
  11. 11. !  No Servlet Usando o operador [] com um Array String[] musicas = {“Andanças”, “Como uma onda”, “Djobi, Djoba”}; request.setAttribute(“listaDeMusicas”, musicas); !  Na Jsp A música é: ${listaDeMusicas} A música é [Ljava.lang.String;@d2922dd9 Primeira música é: ${listaDeMusica[0]} Primeira música é: Andanças Segunda música é: ${listaDeMusica[“1”]} Segunda música é: Como uma onda
  12. 12. !  No Servlet Um índice String é convertido para uma int ArrayList comidasFavoritas = new ArrayList(); comidasFavoritas.add(“Sushi”); comidasFavoritas.add(“Massa do Spoleto”); !  Na Jsp As comidas são: ${comidasFavoritas} As comidas são: [sushi, Massa do Spoleto] Primeira comida é: ${comidasFavoritas[0]} Primeira comida é: Sushi Segunda comida é: ${comidasFavoritas[1]} Segunda comida é: Massa do Spoleto
  13. 13. O que vai ser impresso?? ArrayList nums = new ArrayList(); nums.add(“1”); nums.add(“2”); nums.add(“0”); request.setAttribute(“numeros”, nums); String[] musicaFavorita = {“Andanças”, “Djobi,Djoba”, “Blau Blau”}; ${musicaFavorita[numeros[0]]} Djobi, Djoba ${musicaFavorita[numeros[0] + 1]} Blau Blau ${musicaFavorita[numeros[“2”]]} Andanças
  14. 14. <c:if>
  15. 15. Teste com <c:if> e EL !  !  Operadores Aritméticos !  Adição + !  Subtração !  Multiplicação * !  Divisão / e div !  Mod % e mod Lógicos !  And && e and !  Or || e or !  Not ! e not !  Relacionais !  Igual !  Diferente !  Menor que !  Maior que !  Menor/Igual !  Maior/Igual == e eq != e ne < e lt > e gt <= e le >= e ge
  16. 16. <c:if> teste condicional !  No servlet, em um doGet(), com uma chamada informar.do?sexo=M String sexo = request.getParameter("sexo"); request.setAttribute("sexo", sexo); !  Na JSP <c:if test="${sexo eq 'M'}" > O sexo informado é <strong>Masculino</strong> </c:if> <c:if test="${sexo ne 'M'}" > O sexo informado é <strong>Feminino</strong> </c:if>
  17. 17. Atenção !  Em JSTL, NÃO EXISTE <c:else>

×