JSTL.

Slides:



Advertisements
Apresentações semelhantes
Estruturas de Controle
Advertisements

Estruturas de Repetição
Framework para desenvolvimento web
Objetos Implícitos Contextuais
Sistemas de Informação Redes de Computadores
Java Server Pages (JSPs)
Programação Básica em Java
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
Tecnologia para Web Cookies
Tecnologia para Web JavaScript
Introdução ao JavaScript
Prof.: Carlos Hairon R. Gonçalves
WebWork e JSP Keven andrade
Geração Dinâmica de Páginas com JSP Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação.
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Tecnologias para Internet
EL e JSTL Prof. Danton Cavalcanti Franco Junior
O Portal do Estudante de Computação
Desenvolvimento de Projetos e Aplicações Web
Linguagem de Expressão (EL)
Introdução a linguagem Python
Rodrigo Cristiano Silva
Unidade I: “Dê um mergulho rápido”
Aula prática 4 Laços Monitoria de Introdução à Programação
Introdução à Programação Estruturas de Repetição
Capítulo 2 Java Servlets.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Treinamento do Microsoft® Access® 2010
Rodrigo Cristiano Silva
Linguagem de Programação JAVA
Introdução a aplicativos Java
Linguagem de Programação JAVA
Professor: Márcio Amador
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
Pilhas Profa. Nádia Félix.
PrograMação para internet
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Arquitetura das JSP - Aula 2
Unidade 6 – Formulários HTML Prof.: Henrique Santos
Aplicativos Web Com Orientação a Objetos – Java Server Pages(JSP) Prof. Odair
JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005.
Aula Prática 4 Monitoria IP/CC (~if669).
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Bruno Inojosa MCP.NET Framework.NET com C#. Aula V  Tópicos abordados:  Desenvolvendo para internet (Parte III) Gerenciamento de Estados User Controls.
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Fundamentos da Linguagem C#
JSP – Mais Recursos Jobson Ronan
Fundamentos de linguagens de programação
Recursividade Profs. De Prog2 e Lab2.
Unidade 5 – Integrando JSP e Servlets Prof.: Henrique Santos
Programação Distribuída em Java Aula 09 - JSP. Na aula passada vimos: Aspectos gerais de segurança em Java policytool Instalação de políticas de segurança.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Curso Técnico em Informática Professor Igor Vale.
Profa. Maria Augusta Constante Puget
Shell Script Parte 2.
Treinamento AJAX Waelson Negreiros Blog:
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Array e ArrayList LPOO – 01/09/14.
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Programação para Web I AULA 2 BANCO DE DADOS.
Desenvolvimento WEB II Continuação AJAX Professora: Kelly de Paula Cunha.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
Raniere ferreira do prado
JavaScript Introdução ao JavaScript 1. Objetivos Introdução Sintaxe Básica Arquivo (script) externo Script no HEAD da página Script no BODY da página.
Prof. Rogerio Alessandro Bueno 1 JavaServer Pages (JSP) Prof. Rogério A. Bueno.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Transcrição da apresentação:

JSTL

JSTL – Java Standard Tag Library A linguagem de expressões de JSP fornece um método simples e conveniente de acesso a propriedades de um escopo para executar de modo simples as expressões. Entretanto, não elimina o uso das scriptlets dentro de nossas páginas JSP. Por isso, apresentamos as custom tags, com a biblioteca padrão do Java.

JSTL – Java Standard Tag Library Existem tags especializadas dentro da especificação que executam tarefas específicas: as tags de JSP padrão <jsp:useBean>, <jsp:getProperty> e <jsp:setProperty> são exemplos. As tags fornecem uma funcionalidade reusável dentro de uma página JSP usando uma relação muito simples ao ocultar sua execução interna. Os desenvolvedores podem criar suas próprias tags para executar seu código com este tipo do benefício. Com esta reusabilidade compacta, custom tags disponibilizadas em determinado JAR podem ser usadas em qualquer aplicação WEB.

JSTL – Java Standard Tag Library Java reconhece essa necessidade, facilidade, e em cooperação com a comunidade de programação, forneceu uma biblioteca padrão de tags que se dirige às áreas de sobreposição, chamada de Java Standard Tag Library ou JSTL.

JSTL – Java Standard Tag Library Incluindo JSTL em nossa aplicação Para incluir a biblioteca JSTL em nossa aplicação, no NetBeans acesse Properties do Projeto, em seguida selecione a opção Libraries e pressione o botão Add Library..., selecione a opção JSTL 1.1, pressione o botão Add Library e por fim pressione o botão OK. Existem vários pacotes de bibliotecas JSTL. Tipo URI Prefixo Exemplo Core http://java.sun.com/jsp/jstl/core c <c:nomeDaTag...> XML http://java.sun.com/jsp/jstl/xml x <x:nomeDaTag...> I18n http://java.sun.com/jsp/jstl/fmt fmt <fmt:nomeDaTag...> Database http://java.sun.com/jsp/jstl/sql sql <sql:nomeDaTag...> Funções http://java.sun.com/jsp/jstl/functions fn <fn:nomeDaTag...>

JSTL – Java Standard Tag Library OU

JSTL – Java Standard Tag Library 1. Faça o download: http://www.apache.org/dist/jakarta/taglibs/standard 2. Descompacte o arquivo e copie: a) /jakarta-taglibs-standard-1.*/tld/* para WEB-INF b) /jakarta-taglibs-standard-1.*/lib/* para WEB- INF/lib

JSTL – Java Standard Tag Library Adicione as seguintes linhas no arquivo web.xml <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/fmt.tld</taglib-location> </taglib> <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri> <taglib-location>/WEB-INF/c-rt.tld</taglib-location>

JSTL – Java Standard Tag Library Adicione as seguintes linhas no arquivo web.xml <taglib> <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/sql.tld</taglib-location> </taglib> <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri> <taglib-location>/WEB-INF/sql-rt.tld</taglib-location> <taglib-uri>http://java.sun.com/jstl/x</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri> <taglib-location>/WEB-INF/x-rt.tld</taglib-location>

JSTL – Java Standard Tag Library Na sua página JSP declare os tipos que for utilizar: <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> Depois é só sair usando! <H1><c:out value="Conexão Java 2004" /></H1>

JSTL – Java Standard Tag Library Biblioteca Core Core fornece funcionalidades úteis para todo o projeto WEB. Core pode ser sub-categorizada em: Tag de uso geral Repetição Condicional Manipulação de URL Obs.:Para cada página JSP que possuir a biblioteca Core, a seguinte diretriz deve ser adicionada à página: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> Isto vincula as tags dentro da biblioteca Core usando o prefixo c.

JSTL – Java Standard Tag Library Tags de uso geral As tags de uso geral na Core executam tarefas comuns, são: Out Set Remove Catch

JSTL – Java Standard Tag Library <c:out> A tag <c:out> recebe uma expressão, avalia seu conteúdo e retorna o resultado diretamente ao objeto corresponde à saída da página.

JSTL – Java Standard Tag Library <c:set> Esta tag é capaz de ajustar valores dentro de um JavaBean. Pode também ajustar um atributo dentro de um escopo especificado que pode ser usado mais tarde pela JSP ou em outra parte da aplicação. Esta ação tem os seguintes atributos: value – o valor que será ajustado no JavaBean especificado. Pode ser uma expressão EL var – o nome de um atributo que será declarado scope – define o escopo do atributo especificado pelo atributo var. Os valores podem ser: page, request, session ou application target – o nome do JavaBean cuja a propriedade será ajustada property – o nome da propriedade dentro do JavaBean que receberá o valo

JSTL – Java Standard Tag Library <c:set> Como foi mencionado antes, há dois usos preliminares para esta tag. Para ajustar o valor dentro de um JavaBean, a tag utiliza somente value (valor), target (alvo) e os atributos da propriedade: <c:set target="usuario" property="nome" value="JEDI"/> A chamada anterior é equivalente a empregar a seguinte expressão de JSP: <% user.setName("JEDI"); %>

JSTL – Java Standard Tag Library <c:set> Para declarar um atributo em um escopo definido, a tag <c:set> utiliza somente o valor, var, e os atributos do escopo, embora o atributo do escopo seja opcional. Quando o atributo do escopo for omitido, será utilizado o escopo de página. <c:set var="minhaString" value="Este é um teste String" scope="session"/>

JSTL – Java Standard Tag Library <c:remove> Esta tag fornece uma maneira de remover os atributos de um escopo definido. Possui dois parâmetros: scope – o escopo do atributo a ser removido. var o nome do atributo a ser removido do escopo definido. Use esta tag para remover o atributo no escopo da sessão anterior criado pela tag <c:set>: <c:remove var="minhaString" scope="session"/>

JSTL – Java Standard Tag Library <c:catch> A tag <c:catch> fornece a funcionalidade da manipulação de erros em áreas específicas de uma página JSP. É simples utilizar: coloca-se a instrução JSP dentro da tag <c:catch> Este tag tem somente um atributo: var – define o nome que será usado na exceção. O atributo criado terá o escopo da página; isto é, será acessível mesmo depois que o bloco terminar

JSTL – Java Standard Tag Library <c:catch var="exception"> <%-- Forçamos um erro aqui para a funcionalidade desta Tag --%> <% if (true) { throw new Exception("Eu sou um erro inesperado"); } %> </c:catch> <%-- A tag seguinte é discutida com mais ênfase na seção condicional --%> <c:if test="${! empty exception}"> Ocorreu um erro na aplicação : ${exception.message} </c:if>

JSTL – Java Standard Tag Library Repetição As repetições de JSTL são compostas por do-while, while e for em nossa página de JSP como scriptlets. JSTL fornece duas tags: forEach e forTokens.

JSTL – Java Standard Tag Library <c:forEach> Geralmente esta tag é mais utilizada para a repetição. Permite acesso por interação aos arrays, instâncias de java.util.Collection, java.util.Iterator, java.util.Map e java.util.Enumeration. Percorre cada elemento expondo o valor atual da repetição no código da página JSP contido na tag. Esta tag possui os seguintes atributos: var – define o nome do atributo usado para exibir o valor atual da repetição na tag. Seu tipo é dependente da coleção que está sendo processada items – define a coleção da repetição. Pode ser especificado como uma expressão EL varStatus – (opcional) define o nome do atributo que pode ser acessado pelo laço para pegar o status do laço atual

JSTL – Java Standard Tag Library <c:forEach> begin – (opcional) um valor interno que define o índice que será usado como o ponto de início da repetição. Se este valor não for fornecido, o índice de repetição começa com 0. Pode ser uma expressão de runtime end – (opcional) um valor inteiro que define o índice que será usado como ponto de parada do laço step – (opcional) um valor do tipo int que define o incremento a ser utilizado através das iterações. Por exemplo, definir este valor para 2 significa que os elementos serão acessados de 2 em 2, definir o valor 3 significa que os elementos serão acessados a cada 2 elementos contando do primeiro

JSTL – Java Standard Tag Library Abaixo, segue um código retirado de uma servlet que irá lidar com o acesso: ... // carrega os parâmetros de usuário em um Map Map parameters = loadUserParameters(); UserDataService service = new UserDataService(); // realiza uma pesquisa em banco e armazena os resultados em uma Collection. Collection results = service.searchUsers(parameters); // armazena os resultados para pesquisa futura request.setAttribute("searchResults", results); // repassa a requisição para a JSP exibir request.getRequestDispatcher("/results.jsp").forward(request, response);

JSTL – Java Standard Tag Library Arquivo JSP executando o laço <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <H1>Os seguintes usuários estão de acordo com seu critério de pesquisa : </H1> <br/> <c:forEach var="user" items="${requestScope.searchResults}"> <li> ${user.name} - ${user.address} </c:forEach

JSTL – Java Standard Tag Library <c:forTokens> Esta tag recebe uma String e analisa, e extrai seu conteúdo em tokens, baseados em um dado delimitador. Todos os atributos de uma tag forEach são compartilhados por esta tag. Além destes, o seguinte atributo também estão disponível: delims – define o delimitador a ser passado quando extrair a String em tokens. Items - agora possui um novo propósito nesta tag. Define a String a ser quebrada

JSTL – Java Standard Tag Library <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <c:forTokens items="item1,item2,item3,item4" delims="," var="item"> <li> ${item} </c:forTokens>

JSTL – Java Standard Tag Library Condicionais O conjunto de tags nesta categoria imita a funcionalidade provida pelos conhecidos if e else-if que podem ser encontrados no padrão Java. Usar estas tags através do padrão Java permite um código mais limpo. Exitem dois conjuntos principais de condicionais: a tag <c:if> que imita um simples if do Java e a tag <c:choose> relacionado as tags <c:when> e <c:otherwise>. Desta forma, estas tags relacionadas imitam a funcionalidade de um código switch.

JSTL – Java Standard Tag Library Condicionais <c:if> A tag <c:if> permite a execução de seu conteúdo caso o valor da expressão a ser avaliada seja verdadeira. Caso seja falsa, nunca será executada. <c:if test="${empty sessionScope.user}"> Não está atualmente logado! Favor corrigir antes de continuar a adição. </c:if>

JSTL – Java Standard Tag Library Condicionais <c:choose>, <c:when>, <c:otherwise> Estas três tags trabalham juntas para prover funcionalidade semelhante ao comando if-else em sua aplicação. <c:choose> <c:when test="${userGrade >95}">Proeminente!</c:when> <c:when test="${userGrade > 80}">Bom!</c:when> <c:when test="${userGrade < 60}">Falhou!</c:when> <c:otherwise>Parabéns...</c:otherwise> </c:choose>

JSTL – Java Standard Tag Library Manipulação de URL Busque informações sobre estas tags para efeito de maior aprendizado.