O JSTL permite ao programador escrever páginas JSPs sem necessariamente utilizar códigos Java, facilitando a integração entre webdesigners e programadores.
Em uma página JSTL, cada tag realiza determinado tipo de processamento.
Uma página JSTL pode ser definida como uma página JSP contendo um conjunto de tags JSTLs
As tais tags se dividem em 5 categorias.
- Core
- XML
- SQL
- Internacionalização
- Funções
Além disso o JSTL contém estruturas de seleção e repetição, é como se fosse uma linguagem de programação escrita em tags.
Cada uma dessas categorias de tags têm um namespace, e isso você vai ter que decorar porque é questão de curso.
CORE - <c:*>
Para incluir essa biblioteca de tags.
<% @taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Basicamente essa biblioteca de tags suporta as estruturas de repetição e seleção, manipulação de urls e outros coisas, miscelâneas.
Exemplo de Loop:
<c:forEach var="item" items="${sessionScope.car.items}">
</c:forEach>
Declaração de variável
<c:set var="itemId" value="${item.itemId}" />
XML - <x:*>
Podem ser tags de CORE, Flow Control ou Transformação.
CORE
<x:set> =>
<x:parser> =>
<x:out> =>
As tags XML Core proveem formas básicas de se fazer parser em documentos XML.
<x:parse doc="${xml}", var="bookList", scope="application" />
acima, o atributo var informa onde guardar o resultado.
CORE
<x:set> =>
<x:parser> =>
<x:out> =>
As tags XML Core proveem formas básicas de se fazer parser em documentos XML.
<x:parse doc="${xml}", var="bookList", scope="application" />
acima, o atributo var informa onde guardar o resultado.
SQL - <sql:*>
<sql:query dataSource="${ApplicationBooks.DB}" var="books">
SELECT * FROM banco.livros WHERE idLivro = ?
<sql:param value='${idLivro}'/>
</sql:query>
INTERNACIONALIZAÇÃO <fmt:*>
Nota: Olha que coisa escrota, chamamos de I3E a IEEE.
Chamamos de InternacionalizaçãO de I18N porque há 18 letras entre I e N, isso em inglês.
Essas tags de i18n são similares ao conceito de conversão do Java Server Faces, elas servem para tratar questões de conversão de moeda local, por exemplo.
Essas tags de i18n são similares ao conceito de conversão do Java Server Faces, elas servem para tratar questões de conversão de moeda local, por exemplo.
FUNÇÕES <fn:*>
Basicamente são as funções de string do Java e o lenght, dos arrays.
Essas tags não são fixas, você pode criar sua própria biblioteca de tags, isso se faz através de um arquivo tld ( Tag Library Descriptor) que contêm os metadados.
Primeiro, a pessoa cria uma classe que irá executar o trabalho duro da TAG.
public class OlaVcTag extends javax.servlet.jsp.tagext.TagSupport{
public int doStartTag( ) throws JspException{
pageContext.getOut( ).print( "Olá Você");
}
}
== Segundo passo, deve-se criar o TLD - TAG LIBRARY DESCRIPTOR ==
== Se quisermos usar nossa nossa biblioteca de tags então temos que colocar no web.xml, apontando para onde a biblioteca de tags está ==
<taglib>
<tag-uri>/tags/minhas-tags</tag-uri>
<tag-location>/WEB-INF/tags/minhas-tags.tld</tag-location>
</taglib>
== BELEZA... Agora só temos que importar ná página que vamos usar, da mesma forma que importamos a tag core, xml, sql..=
<%@taglib uri="/tags/minhas-tags" prefix="ov"/%>
== E agora usamos na nossa página
<ov:olavc/>
PASSOS:
Criar a classe => Definir no TLD => Colocar no WEB.XML => Importar na página => Usar a Tag.
Essas tags não são fixas, você pode criar sua própria biblioteca de tags, isso se faz através de um arquivo tld ( Tag Library Descriptor) que contêm os metadados.
Primeiro, a pessoa cria uma classe que irá executar o trabalho duro da TAG.
public class OlaVcTag extends javax.servlet.jsp.tagext.TagSupport{
public int doStartTag( ) throws JspException{
pageContext.getOut( ).print( "Olá Você");
}
}
== Segundo passo, deve-se criar o TLD - TAG LIBRARY DESCRIPTOR ==
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
" http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
" http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>MinhasTags</shortname>
<info>Minhas Tag's Customizadas</info>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>MinhasTags</shortname>
<info>Minhas Tag's Customizadas</info>
<tag>
<name>olavc</name>
<tagclass>minhastags.OlaVcTag</tagclass> <bodycontent>JSP</bodycontent>
<info>Tag boba que diz Ola Vc</info>
<name>olavc</name>
<tagclass>minhastags.OlaVcTag</tagclass> <bodycontent>JSP</bodycontent>
<info>Tag boba que diz Ola Vc</info>
</tag>
</taglib>
</taglib>
== Se quisermos usar nossa nossa biblioteca de tags então temos que colocar no web.xml, apontando para onde a biblioteca de tags está ==
<taglib>
<tag-uri>/tags/minhas-tags</tag-uri>
<tag-location>/WEB-INF/tags/minhas-tags.tld</tag-location>
</taglib>
== BELEZA... Agora só temos que importar ná página que vamos usar, da mesma forma que importamos a tag core, xml, sql..=
<%@taglib uri="/tags/minhas-tags" prefix="ov"/%>
== E agora usamos na nossa página
<ov:olavc/>
PASSOS:
Criar a classe => Definir no TLD => Colocar no WEB.XML => Importar na página => Usar a Tag.
No comments:
Post a Comment