SlideShare uma empresa Scribd logo
JSP & Servlets
Expression Language

Técnicas de Programação
FA7
Prof.º Eduardo Mendes
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);
}
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>
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() %>
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
Operador Ponto
! 

Se a expressão é seguida de um ponto, o lado
esquerdo deve ser um Map ou um bean
Operador Ponto
! 

O que há do lado direito deve ser o índice de um
Map ou a propriedade de um bean
O operador []
! 

Isto:

! 

É a mesma coisa que:
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
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
! 

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
! 

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
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
<c:if>
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
<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>
Atenção
! 

Em

JSTL,
NÃO EXISTE <c:else>

Mais conteúdo relacionado

PDF
Java Web 4 - Servlets e JSP 2
PDF
Java Web 5 - JSP, Expression Language e Taglibs
PDF
Java Web 3 - Servlets e JSP 1
PDF
Java Web 2 - Ferramentas e configuração
PDF
Http Servlet
PDF
Introdução ao Desenvolvimento de aplicações WEB com JSP
PDF
Curso de JSP
Java Web 4 - Servlets e JSP 2
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 3 - Servlets e JSP 1
Java Web 2 - Ferramentas e configuração
Http Servlet
Introdução ao Desenvolvimento de aplicações WEB com JSP
Curso de JSP

Mais procurados (20)

PDF
Java Web - MVC básico com JSP e Servlets
PDF
Model View Controller
PPTX
Trabalho ProgramaçãO Comercial Ii
PDF
Cactus - Testes em J2EE com Jakarta Cactus
PDF
Tutorial +login+mvc
PPTX
JSPs Introdução Parte 1
PDF
Fundamentos de JDBC
PDF
Web 2.0 e AJAX - Parte 2 / 3
PPTX
Acesso a Banco de Dados em Java usando JDBC
PPT
Treinamento ajax 03
ODP
Java 16 Jdbc
PDF
Java Server Pages
PDF
Servlet jsp tomcat 8
ODP
servlet-respostas
PDF
Java script aula 05 - funções
PDF
ODIG - Javascript, DOM Elements e jQuery
PPTX
Aula de Node
PPTX
JSPs Etiquetas
PPTX
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
PPTX
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Java Web - MVC básico com JSP e Servlets
Model View Controller
Trabalho ProgramaçãO Comercial Ii
Cactus - Testes em J2EE com Jakarta Cactus
Tutorial +login+mvc
JSPs Introdução Parte 1
Fundamentos de JDBC
Web 2.0 e AJAX - Parte 2 / 3
Acesso a Banco de Dados em Java usando JDBC
Treinamento ajax 03
Java 16 Jdbc
Java Server Pages
Servlet jsp tomcat 8
servlet-respostas
Java script aula 05 - funções
ODIG - Javascript, DOM Elements e jQuery
Aula de Node
JSPs Etiquetas
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Anúncio

Destaque (20)

PDF
Acesso a banco de dados com JDBC
PDF
Tag Libraries e JSTL
PPT
Tag Libraries
PDF
PDF
Html - Aula 3
PDF
Introducao - Engenharia de Software
PDF
G gpcwmlguth 02.009.030.004-video_dvr_-_internet
PDF
# Dvr stand alone maxstand 2 em 1
PDF
Evolução de software 1 - Engenharia de Software
PDF
Apostila `profissional cftv
PDF
Guia do cftv básico
PDF
Desenvolvimento agil de_software
PDF
Fábrica Simples - Padrões de Projeto
PDF
Html Aula 1 Parte 1
PDF
Html - Aula 4
PDF
Padrão Adapter
PDF
Testes de Software parte 2
PDF
Teste de Software - parte 1
PDF
TDD Projeto e Estrategias
Acesso a banco de dados com JDBC
Tag Libraries e JSTL
Tag Libraries
Html - Aula 3
Introducao - Engenharia de Software
G gpcwmlguth 02.009.030.004-video_dvr_-_internet
# Dvr stand alone maxstand 2 em 1
Evolução de software 1 - Engenharia de Software
Apostila `profissional cftv
Guia do cftv básico
Desenvolvimento agil de_software
Fábrica Simples - Padrões de Projeto
Html Aula 1 Parte 1
Html - Aula 4
Padrão Adapter
Testes de Software parte 2
Teste de Software - parte 1
TDD Projeto e Estrategias
Anúncio

Semelhante a Java web 6 JSP Expression Language Taglib parte 2 (13)

ODP
Php 02 Primeiros Passos
ODP
Prog web 02-php-primeiros-passos
PDF
Rest Beer v2
PPTX
Aula 02 - Curso PHP e MySQL
PDF
JSP - Expression Language
ODP
Php 07 Cakephp
PDF
Criando APIs usando o micro-framework Respect
PDF
LabMM4 (T14 - 12/13) - Arrays
PPTX
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
PDF
Evento Front End SP - Organizando o Javascript
PDF
Curso de Servlets
PDF
Ecommerce, mais simples do que parece
PDF
Ecommerce, mais simples do que parece
Php 02 Primeiros Passos
Prog web 02-php-primeiros-passos
Rest Beer v2
Aula 02 - Curso PHP e MySQL
JSP - Expression Language
Php 07 Cakephp
Criando APIs usando o micro-framework Respect
LabMM4 (T14 - 12/13) - Arrays
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Evento Front End SP - Organizando o Javascript
Curso de Servlets
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que parece

Mais de Eduardo Mendes (20)

PDF
JavaScript - Introdução com Orientação a Objetos
PDF
AngularJS - Rotas
PDF
Angular JS - Fundamentos
PDF
Singleton - Padrão de Projeto
PDF
Layout Fluido
PDF
Web Design Responsivo
PDF
Introdução à Internet, Http e HTML
PDF
PDF
Jquery 2
PDF
PDF
Estimativas de Esforço - Engenharia de Software
PDF
Validações no Ruby on Rails
PDF
Padrão Iterator
PDF
Padroes Template-Method (Método Gabarito)
PDF
Padrão Command
PDF
Padrão Fachada
PDF
Web Design Responsivo
PDF
PHP básico para iniciantes
PDF
PHP e MySQL para iniciantes
PDF
Introdução a Padrões de Projeto
JavaScript - Introdução com Orientação a Objetos
AngularJS - Rotas
Angular JS - Fundamentos
Singleton - Padrão de Projeto
Layout Fluido
Web Design Responsivo
Introdução à Internet, Http e HTML
Jquery 2
Estimativas de Esforço - Engenharia de Software
Validações no Ruby on Rails
Padrão Iterator
Padroes Template-Method (Método Gabarito)
Padrão Command
Padrão Fachada
Web Design Responsivo
PHP básico para iniciantes
PHP e MySQL para iniciantes
Introdução a Padrões de Projeto

Último (7)

PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PDF
apresentacao introducao computacao ead.pdf
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
Evolução em código: algoritmos genéticos com PHP
PDF
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Dos requisitos ao código: como criar código rastreável em PHP
apresentacao introducao computacao ead.pdf
Mapeamento de Objeto para Tabela Relacional
Evolução em código: algoritmos genéticos com PHP
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf

Java web 6 JSP Expression Language Taglib parte 2

  • 1. JSP & Servlets Expression Language Técnicas de Programação FA7 Prof.º Eduardo Mendes
  • 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
  • 8. O operador [] !  Isto: !  É a mesma coisa que:
  • 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>