Java web 6 JSP Expression Language Taglib parte 2

1.270 visualizações

Publicada em

Utilização de Expression Language e c:if

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.270
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
65
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no 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>

×