Programando em JSTL-JSP Standard Tag Library Introudção JSTL Exemplos Professor: Armando Hage
Introdução É possível escrever sua próprias tags para utilização dentro do JSP. Isso reduz a complexidade do código, utilizando apenas elementos de marcação de texto. Uma bilbioteca de tags consiste em um grupo de tags personalizadas. A tag personalizada é uma construção que permite a um desenvolvedor Java colocar o código Java dentro de um objeto tratador de tags e expor suas funcionalidades por meio de nomes de tags e atributos. Expandindo as funcionalidades do JSP sem precisar de nenhum código Java. Finalidades Facilid ade d a esc ri ta e ma nu te nção d e cód igo ; Reu tiliza ção Ace lar a o desen vol vim en to de ap lica çõe s W eb
JST L JSP St and ard Ta g Libra ry A JSTL é uma coleção de tags personalizadas que executam funcionalidades comuns em aplicações WEB. Iter açã o, sele ção, f or mat açã o de dad os, man ipu laçã o de XM L e acesso a ban co d e d ado s. Permite um foco nas necessidades específicas do desenvolvimento, ao invés de reinventar a roda. É composta de:uma linguagem de Expressão,Bibliotecas de Ações padrão,validators
Uti li zando uma bi bli oteca de ta gs Disponibilize a biblioteca de tags para o JSP. Utilizar a tag requerida no momento em que precisar. Para importar a biblioteca de tags em um JSP, basta utilizar a diretiva tag. <%@ tag lib uri= pr efix= %> uri - Permite especificar a localização do TLD (tag lib descriptor) prefix Utilizada unicamente para identificar as tags personalizadas serão utilizadas. <%@ tag lib uri= /WEB-I NF/ c.tld pre fix= c % > <%@ tag lib ur i= http :// jav a. sun. com/js tl-e l/cor e pr efi x= c %>
Util izando uma b ibl ioteca de tags É necessário um servidor web com suporte a JSP 2.0 e uma implementação JSTL. Para disponibilizar as tags JSTL para todos os aplicativos web instalados no seu servidor coloque os arquivos standard.jar e jstl.jar no na pasta /lib. Por último basta configurar o arquivo web.xml
Arquivo we b.xml com s uporte a J STL <?xml version="1.0"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <!-- Bibliotecas de tags --> <taglib><taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/web-inf/tld/c-1_0-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/web-inf/tld/fmt-1_0-rt.tld</taglib-location> </taglib> <!-- mapeamento de servlets --> </web-app>
A Ex pr essi on Language (E L) É linguagem baseada em Script e XPath. Provem expressões e identificadores; aritiméticos, lógicos, operadores relacionais; e conversão de tipos. Torna simples o acesso a objetos implícitos tal como o servlet request/response, variáveis de escopo e objetos armazenados no escopo JSP (page, request, session e application). Reduz a necessidade de utilizar expressões JSP e scriplets, aumentando a manutenabilidade e extensibilidade de aplicações WEB.
Pr incipais a ções A JSTL fornece quatro ações de finalidades gerais: <c :out > <c :s et <c :r emov e> <c :c at ch>
Prin cipais a ções <%= request.getparameter("nome") %> <c:out value='${param.nome}'/> <c:out value='${param.nome}' default= João Java da Silva /> <c:set value var [scope]/> <c:set value var [scope]/> conteúdo do corpo </c:set> <jsp:usebean id='usuario' class='beans.usuario'/> <c:set target='${usuario}' property='nome' value='${param.nome}'/>a
Prin cipais a ções <c:remove> Uti lizad o par a r em over var iáveis de escop o A si nt axe da açã o <c :r em ove> é: <c: rem ov e var [sco pe]/ > <c:catch> A a ção < c: cat ch > d ispo ni bili za u m m eca nism o d e trata me nt o de er ros. A si nt axe da açã o <c :c atc h> é:
Prin cipais a ções A JSTL dispõe as seguintes tags condicionais: <c: if > <c: ch oo se> <c: when> <c: oth er wise> <c:if> A a ção < c: if > r ea liza o pr ocessa me nt o co nd icio nal sim ples. <c: if test ='${par am.tam anh o < 3 0 } '> <c: out val ue =' ${p ar am.ta ma nh o}'/ > </c :if >:
Prin cipais a ções <c:choose> Alg um as vezes voc ê p recisa exec ut ar u ma aç ão se um a d e diver sa s cir cu nstâ nci as f or ver dadei ra. Qu and o voc ê esp ecif ica u ma co ndiçã o mut ua me nt e exclu siva co m JST L, você u tili zar á a ação <c :cho ose> A si nt axe da açã o <c :c ho ose> é: <c: ch oo se> con teúd o do co rpo </c :cho ose>o
Prin cipais a ções
Prin cipais a ções Iterações É quando tem-se uma coleção de objetos e deseja percorrê-la, e exibir os atributos desses objetos, um a um. Algumas vezes você precisa executar uma ação se uma de diversas circunstâncias for verdadeira. Para isso utilizaremos a tag <foreach>, para percorrer a collection e exibir os atributos do produto.
Prin cipais a ções <%@ taglib uri="/web-inf/tld/c.tld" prefix="c"%> <%!String[] nomes={"jo?","maria","pedro","armando","rita"}; %> <html><head><title>teste de uso de JSTL</title></head> <body><h1>lista de nomes</h1> <table border="1"><th>nome<th><c:foreach<c:foreach var="pessoa" items="<%=nomes%>"><tr> <td><c:out value="${pessoa}"/></td></tr> <c:foreach> </table> </body> </html>