EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código...
Transcript of EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código...
![Page 1: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/1.jpg)
Seminários Avançados 3
EL e JSTL
Prof. Danton Cavalcanti Franco Junior
![Page 2: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/2.jpg)
Sintaxe para fazer expressões sem escrever código Java
Está disponível junto com a tecnologia JSP desde a versão 2.0
Com EL, pode-se escrever expressões de forma mais simples, sem a utilização de scriptlets.
Possui conversão de tipos automática, ou seja, não é necessário código Java para converter String para int por exemplo.
EL – Expression Language
![Page 3: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/3.jpg)
${expressao} Onde a expressão pode utilizar variáveis,
literais fixos, objetos implícitos que serão vistos mais adiante.
EL - Sintaxe
![Page 4: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/4.jpg)
<body>Esta é uma página que utiliza a linguagem de
expressão EL.Abaixo será exibido o resultado da soma
4+5+6 utilizando EL. <BR><BR>${4+5+6}</body>
EL - Exemplo
![Page 5: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/5.jpg)
Na EL, existe um objeto implícito chamado param, que representa um parâmetro recebido pela página JSP. Exemplo:
<body>${param.idade >= 18 ? 'Maior' : 'Menor'}</body>Neste exemplo a página JSP recebeu um parâmetro
chamado idade. É escrito “Maior” ou “Menor” no HTML de saída conforme o valor do parâmetro.
Este objeto implícito representa o “request.getParameter”
EL – objetos implícitos
![Page 6: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/6.jpg)
A JavaServer Pages Standard Tag Library é uma especificação criada pela Sun em 2002.
Consiste em uma coleção de bibliotecas de tags JSP, tendo cada uma um propósito bem definido, que permite escrever páginas JSP sem qualquer código Java, utilizando somente tags.
Benefícios:◦ Aumenta a legibilidade do fonte◦ Maior interação entre programador e webdesigner◦ Maior rapidez no desenvolvimento de páginas JSP
JSTL
![Page 7: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/7.jpg)
Originalmente a implementação de referência da JSTL foi fornecida pelo projeto Apache Jakarta, e está disponível para download em http://jakarta.apache.org/taglibs
Deve-se fazer o download, descompactar o arquivo e copiar os arquivos jstl.jar e standard.jar para o diretório WEB-INF/lib do projeto no Eclipse
OBS: algumas versões do Tomcat possuem estes arquivos no diretório webapps\examples\WEB-INF\lib, ou no diretório Lib
Instalando o JSTL
![Page 8: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/8.jpg)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-
1"><title>Insert title here</title></head><body><c:out value="Exemplo de JSTL"/></body></html>
JSTL - Exemplo
![Page 9: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/9.jpg)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Na linha em vermelho no exemplo é feita a declaração do cabeçalho, ou seja, da utilização da biblioteca JSTL.
No atributo uri declara-se o endereço identificador da biblioteca, e um prefixo que será utilizado para acessar suas tags
JSTL - Exemplo
![Page 10: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/10.jpg)
<c:out value="Exemplo de JSTL"/> Esta linha está utilizando a tag “out” da
biblioteca Core. A sintaxe inicia com o prefixo atribuído no
cabeçalho, seguido do nome da tag e de seus atributos.
Este exemplo gera o mesmo resultado do scriptlet abaixo:
<% out.print(“Exemplo de JSTL”);%>
JSTL - Exemplo
![Page 11: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/11.jpg)
É composto por 4 bibliotecas de tags◦ Core◦ Internacionalização e formatação◦ Acesso a banco de dados relacional (SQL)◦ Processamento de XML
JSTL
![Page 12: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/12.jpg)
Como já foi visto no exemplo, para utilizar as bibliotecas JSTL devemos declarar a biblioteca no cabeçalho.
É muito comum utilizar as tags JSTL em conjunto com a EL nas páginas JSP.
Utilizando JSTL em conjunto com a EL, pode-se construir páginas JSP poderosas sem a utilização de scriptlets, ou seja, sem código Java.
JSTL
![Page 13: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/13.jpg)
◦ Core <%@ taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c" %>◦ Internacionalização e Formatação
%@taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>
◦ Acesso a Banco de dados (SQL) <%@ taglib uri="http://java.sun.com/jsp/jstl/sql"
prefix=“sql" %>◦ Processamento de XML
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix=“x" %>
JSTL – Bibliotecas e cabeçalhos
![Page 14: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/14.jpg)
A Core é a biblioteca com as tags de propósito geral. Condições, iterações são exemplos de tags da biblioteca Core
Tags mais comuns:◦ <c:if/> : condições◦ <c:when> : várias condições◦ <c:forEach/> : iteração◦ <c:out/> : saída de valores◦ <c:set/> e <c:remove/> : escopo de variáveis
JSTL - Core
![Page 15: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/15.jpg)
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
<body><c:set var=“nome” value=“João”/>
Seu nome é: <c:out value=“${nome}”/><c:remove var=“nome”/></body>
JSTL – Core exemplos
![Page 16: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/16.jpg)
Teste condicionalExemplo:<body><c:if test=“${param.sexo == ‘S’}”>
<c:out value=“Sexo masculino”/>
</c:if>
JSTL – Tag <c:if>
![Page 17: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/17.jpg)
Várias condições, similar ao switch do Java Exemplo:<body><c:choose>
<c:when test=“${param.sexo==‘M’}”><c:out value=“Sexo masculino”/>
<c:/when><c:otherwise>
<c:out value=“Sexo feminino”/></c:otherwise>
</c:chooose></body>
JSTL – Tag When
![Page 18: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/18.jpg)
Loop com valores de início e fim, similar ao for do Java
<body><c:forEach var=“i” begin=“1” end=“10”>
<c:out value=“${i}”/></c:forEach>
</body>
JSTL – Tag forEach
![Page 19: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/19.jpg)
Declara e remove variáveis Exemplo:
<body><c:set var="str" value="Valor da variável var"/>Valor variável str: <c:out value="${str}"/><br><c:remove var="str"/>Variável foi removida: <c:out value="${str}"/></body>
JSTL – Tags set e remove
![Page 20: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/20.jpg)
Biblioteca com tags que oferecem recursos para internacionalização das páginas. Oferece também tags de formatação de valores, como:◦ <fmt:formatNumber/> : formata um valor
numérico com a específica precisão ou formato◦ <fmt:formatDate/> : formata data e hora em um
formato específico
JSTL - Internacionalização e Formatação
![Page 21: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/21.jpg)
<%@taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>
<body><jsp:useBean id=“dt”
class=“java.util.Date”/>A data de hoje é: <fmt:formatDate value=“$
{dt}”/></body>
JSTL - Internacionalização e Formatação - Exemplo
![Page 22: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/22.jpg)
Faz a manipulação (select, insert, delete, update) de informações no banco de dados
Tags mais comuns:◦ <sql:setDataSource/> : configura conexão com
BD◦ <sql:query/> : executa comandos SELECT◦ <sql:update/> : executa comandos UPDATE,
INSERT e DELETE É preferível utilizar a arquitetura MVC para
separar a lógica de negócio de acesso ao banco de dados da camada de apresentação.
JSTL – Acesso a dados (SQL)
![Page 23: EL e JSTL Prof. Danton Cavalcanti Franco Junior. Sintaxe para fazer expressões sem escrever código Java Está disponível junto com a tecnologia JSP desde.](https://reader035.fdocumentos.com/reader035/viewer/2022062318/552fc11f497959413d8cb0df/html5/thumbnails/23.jpg)
Implementar duas páginas JSP utilizando JSTL e EL para exibir a tabuada de um número.
A primeira página irá exibir um formulário solicitando um número, e irá chamar outra página JSP
A segunda página JSP irá exibir a tabuada do número informado na primeira página.
Exercício