UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas
Programação para Aplicações WEB
Profa. Semíramis Assis
2015.2
Introdução a Taglib

Outra forma de instanciar uma taglib é
utilizando a tag <jsp:useBean> .
Introdução a Taglib

JSTL – JavaServer Pages Standard Tag
Library.



API através da qual é possível utilizar lógica a
partir de tags simples (for,if – else, dados XML e
internacionalização).
Padronização da Sun devido à existência de
diversas bibliotecas que possuiam funcionalidades
similares.
Necessidade de baixar a biblioteca em :
http://jstl.java.net/ .
Introdução a Taglib

API core:



O prefixo padrão adotado pela Sun é a
letra “c”.
Disponibiliza laços de iteração, e comandos
de condição e repetição (for, if, choose).
Simplifica uma página JSP a tornando mais
limpa do que com o código em Java puro.
Introdução a Taglib
• Sem JSTL:
• Com JSTL:
Introdução a Taglib

Principais tags da API core:

Tags para controle de código:







Choose
forEach
forTokens
If
Otherwise
When
Tags para controle de fluxo da página e variáveis:




Set
Out
Redirect
url
Introdução a Taglib

Comando <c:set>:


Cria uma variável contendo o resultado de uma expressão
em um determinado escopo.
Parâmetros:






Value – Valor a ser salvo.
Target – Nome da variável que terá a propriedade
modificada.Se especificada, property deverá ser também.
Property – Propriedade a ser modificada.
Var – Nome da variável que irá armazenar o resultado.
Scope – Escopo da variável que irá armazenar o resultado.
Exemplo:

<c:set var="valor" scope="session" value="${2000}"/>
Introdução a Taglib

Condicional <c:if>:

Parâmetros:




Test – A condição a ser validada;
Var – Nome da variável para armazenar o
resultado da validação (não obrigatório);
Scope – Escopo da variável que irá armazenar
o resultado da validação (não obrigatório).
Exemplo:

<c:if test="${valor > 200}">
Introdução a Taglib

Condicional
<c:choose>:


Não possui parâmetros.
Deve contar tags
<c:when> com as
condições:

Parâmetros:


Test – Condição a ser
testada.
Contém a tag
<c:otherwise> no final,
equivalente ao comando
default.
Introdução a Taglib

Iteração com <c:forEach>:


Permite que uma coleção seja
percorrida. Faz mesmo papel do
for, while e do-while do java.
Atributos:






Items – A coleção a ser
percorrida.
Begin – O elemento de início
do loop.
End – Elemento de finalização
do loop.
Step – Passo a ser dado para
próximo loop.
Var – Nome da variável para
expor o item atual.
varStatus – Nome da variável
para expor o status do loop.
Introdução a Taglib

Iteração entre tokens com <c:forTokens>:

Quebra uma string em tokens e percorre a coleção destes
tokens. Mesmo princípio e atributos do forEach, apenas um
atributo a mais:

Delims – Define o caracter a ser utilizado como delimitador.
Introdução a Taglib

Redirecionamento com <c:redirect>:


Redireciona a página para uma nova URL.
Atributos:



url – Url a ser redirecionada. Obrigatório.
Context – Contexto na aplicação web. Opcional.
Exemplo:

<c:redirect url="http://www.google.com"></c:redirect>
Introdução a Taglib

Criação de url com <c:url>:


Formata uma url como string, guardando o valor
em uma variável.
Provê codificação apropriada
para a URL e seus parâmetros (definidos através
da tag <c:param>).
Parâmetros:





Value – URL. Obrigatório.
Context – contexto na aplicação web. Opcional.
Var – Variável que irá armazenar a URL. Opcional.
Scope – Escopo da variável que irá armazenar a URL.
Opcional.
Exemplo:

<a href="<c:url value="http://www.atarde.com.br"/>">Clique aqui.</a>
Introdução a Taglib
• Exemplo de JSP que utiliza JSTL:
Introdução a Taglib

Exercício! Criar uma string com uma
frase quebrada pelo caracter “-” e
utilizar o forTokens para percorrer os
tokens da string.
Introdução a Taglib

Exercício! Realizar a multiplicação de
dois números e fazer o teste:


Caso o resultado seja inferior a 50,
redirecionar para www.google.com;
Caso o resultado seja superior a 50,
redirecionar para www.ibahia.com.
Introdução a Taglib


Exercício! Criar um vetor de Strings de
4 posições e preencher este vetor com
valores fixos e utilizando forEach.
Fazer novo loop para exibir as
informações armazenadas neste mesmo
vetor.
Introdução a Taglib

Exercício! Criar uma página com uma variável
‘idade’ com valor 20. Testar as condições:




Idade > 20 - “Idade é maior que 20”.
Idade = 20 – “Idade é igual a 20.”.
Idade < 20 – “Idade é menor que 20”.
Criar uma variável do tipo String ‘nome’ com
valor “Almeida”. Testar as condições:


Nome igual a “Almeida” – “Nomes são iguais”.
Nome diferente de “Almeida” – “Nomes não
coincidem”.
Introdução a Taglib

Exercício! Modificar o exercício anterior para
utilizar a tag <c:choose>.




Idade > 20 - “Idade é maior que 20”.
Idade = 20 – “Idade é igual a 20.”.
Idade < 20 – “Idade é menor que 20”.
Nome igual a “Almeida” – “Nomes são iguais”.

Nome diferente de “Almeida” – “Nomes não
coincidem”.
Bibliografia

http://www.tutorialspoint.com/jsp/jsp_s
tandard_tag_library.htm
Download

Web_aula17_18