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