23
Seminários Avançados 3 EL e JSTL Prof. Danton Cavalcanti Franco Junior

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

Embed Size (px)

Citation preview

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

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

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

${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

<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

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

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

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

<%@ 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

<%@ 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

<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

É 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

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

◦ 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

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

<%@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

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

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

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

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

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

<%@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

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

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