Carregar apresentação
A apresentação está carregando. Por favor, espere
1
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Seminários Avançados 3 EL e JSTL Prof. Danton Cavalcanti Franco Junior
2
EL – Expression Language
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.
3
EL - Sintaxe ${expressao}
Onde a expressão pode utilizar variáveis, literais fixos, objetos implícitos que serão vistos mais adiante.
4
EL - Exemplo <body> Esta é uma página que utiliza a linguagem de expressão EL. Abaixo será exibido o resultado da soma utilizando EL. <BR><BR> ${4+5+6} </body>
5
EL – objetos implícitos
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”
6
JSTL 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
7
Instalando o JSTL Originalmente a implementação de referência da JSTL foi fornecida pelo projeto Apache Jakarta, e está disponível para download em 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
8
JSTL - Exemplo page language="java" contentType="text/html; charset=ISO " pageEncoding="ISO "%> taglib uri=" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO "> <title>Insert title here</title> </head> <body> <c:out value="Exemplo de JSTL"/> </body> </html>
9
JSTL - Exemplo taglib uri=" 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
10
JSTL - Exemplo <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”);%>
11
JSTL É composto por 4 bibliotecas de tags Core
Internacionalização e formatação Acesso a banco de dados relacional (SQL) Processamento de XML
12
JSTL 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.
13
JSTL – Bibliotecas e cabeçalhos
Core taglib uri=" prefix="c" %> Internacionalização e Formatação uri=“ prefix=“fmt”%> Acesso a Banco de dados (SQL) taglib uri=" prefix=“sql" %> Processamento de XML taglib uri=" prefix=“x" %>
14
JSTL - Core 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
15
JSTL – Core exemplos uri=“ prefix=“c” %> <body> <c:set var=“nome” value=“João”/> Seu nome é: <c:out value=“${nome}”/> <c:remove var=“nome”/> </body>
16
JSTL – Tag <c:if>
Teste condicional Exemplo: <body> <c:if test=“${param.sexo == ‘S’}”> <c:out value=“Sexo masculino”/> </c:if>
17
JSTL – Tag When 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>
18
JSTL – Tag forEach 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>
19
JSTL – Tags set e remove 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>
20
JSTL - Internacionalização e Formatação
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
21
JSTL - Internacionalização e Formatação - Exemplo
uri=“ prefix=“fmt”%> <body> <jsp:useBean id=“dt” class=“java.util.Date”/> A data de hoje é: <fmt:formatDate value=“${dt}”/> </body>
22
JSTL – Acesso a dados (SQL)
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.
23
Exercício 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.
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.