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. 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. 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. 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. Operador Ponto
!
Se a expressão é seguida de um ponto, o lado
esquerdo deve ser um Map ou um bean
7. Operador Ponto
!
O que há do lado direito deve ser o índice de um
Map ou a propriedade de um bean
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. 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. !
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. !
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. 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
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. <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>