English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Biblioteca de Tags Padrão JSP (JSTL)

A Biblioteca de Tags Padrão do JSP (JSTL) é uma coleção de tags JSP que encapsula as funcionalidades de núcleo comuns de aplicações JSP.

O JSTL suporta tarefas genéricas e estruturadas, como iterações, julgamentos condicionais, operações em documentos XML, tags de internacionalização, tags SQL. Além disso, ele fornece um framework para usar tags personalizadas integradas ao JSTL.

De acordo com as funções fornecidas pelas tags JSTL, podem ser divididas em5categorias.

  • Tags de núcleo

  • Tags de formatação

  • Tags SQL

  • Etiqueta XML

  • Funções JSTL

Instalação da biblioteca JSTL

Passos para instalar a biblioteca JSTL no Apache Tomcat:

Os pacotes binários baixados do repositório de tags padrão do Apache (jakarta-taglibs-standard-current.zip).

para baixar jakarta-taglibs-standard-1.1.2.zip pacotes e descomprima, copie jakarta-taglibs-standard-1.1.2/lib/ em dois arquivos jar na pastastandard.jar e jstl.jar e copie o arquivo /WEB-INF/lib/ abaixo.

Copie o arquivo tld necessário para ser importado para a pasta WEB-na pasta INF.

A seguir, adicionamos a seguinte configuração no arquivo web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    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">
    <jsp-config>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri>
    <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri>
    <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri>
    <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri>
    <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
    </taglib>
    </jsp-config>
</web-app>

Para usar qualquer biblioteca, você deve incluir a tag <taglib> no cabeçalho de cada arquivo JSP.

Tags de núcleo

Os tags de núcleo são os tags JSTL mais usados. A sintaxe para referenciar a biblioteca de tags de núcleo é a seguinte:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Etiqueta Descrição
<c:out> Usado para exibir dados em JSP, como <%= ... >
<c:set> Usado para salvar dados
<c:remove> Usado para excluir dados
<c:catch> Usado para lidar com exceções que geram erros e armazenar as informações de erro
<c:if> Igual ao que usamos em programas normais, if
<c:choose> Só serve como pai das tags <c:when> e <c:otherwise>
<c:when> Subtag de <c:choose>, usada para avaliar se uma condição é verdadeira
<c:otherwise> Subtag de <c:choose>, executada após a tag <c:when> quando <c:when> é avaliada como false
<c:import> Recuperar um URL absoluto ou relativo e expor seu conteúdo para a página
<c:forEach> Tag de iteração básica, aceita vários tipos de conjuntos
<c:forTokens> Dividir o conteúdo com base em um delimitador específico e iterar sobre a saída
<c:param> Usado para passar parâmetros para uma página que contém ou redireciona
<c:redirect> Redirecionar para uma nova URL.
<c:url> Criar uma URL usando parâmetros de consulta opcionais

Tags de formatação

As tags de formatação do JSTL são usadas para formatar e exibir texto, data, hora e números. A sintaxe para referenciar a biblioteca de tags de formatação é a seguinte:

<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
Etiqueta Descrição
<fmt:formatNumber> Formatar um número usando um formato ou precisão específicos
<fmt:parseNumber> Analisar uma string que representa um número, moeda ou porcentagem
<fmt:formatDate> Formatar uma data e hora usando um estilo ou padrão específico
<fmt:parseDate> Analisar uma string que representa uma data ou hora
<fmt:bundle> Ligar recursos
<fmt:setLocale> Especificar a região
<fmt:setBundle> Ligar recursos
<fmt:timeZone> Especificar o fuso horário
<fmt:setTimeZone> Especificar o fuso horário
<fmt:message> Exibir informações do arquivo de configuração de recursos
<fmt:requestEncoding> Configurar o código de caracteres do request

Tags SQL

A biblioteca de tags SQL do JSTL fornece tags para interagir com bancos de dados relacionais (Oracle, MySQL, SQL Server e outros). A sintaxe para referenciar a biblioteca de tags SQL é a seguinte:

<%@ taglib prefix="sql"}} 
           uri="http://java.sun.com/jsp/jstl/sql" %>
Etiqueta Descrição
<sql:setDataSource> Especificar o provedor de dados
<sql:query> Executar a instrução de consulta SQL
<sql:update> Executar a instrução de atualização SQL
<sql:param> Definir o parâmetro da instrução SQL como o valor especificado
<sql:dateParam> Definir o parâmetro de data da instrução SQL como o valor do objeto java.util.Date especificado
<sql:transaction> Fornecer elementos de comportamento de banco de dados aninhados em conexões de banco de dados compartilhadas, executar todas as instruções como uma transação

Etiqueta XML

A biblioteca de etiquetas XML JSTL fornece etiquetas para criar e manipular documentos XML. A sintaxe para referenciar a biblioteca de etiquetas XML é a seguinte:

<%@ taglib prefix="x" 
           uri="http://java.sun.com/jsp/jstl/xml" %>

Antes de usar a etiqueta xml, você deve copiar os pacotes XML e XPath para o diretório <Tomcat Instalação Diretório>\lib:

Etiqueta Descrição
<x:out> Semelhante a <%= ... >, mas usado apenas para expressões XPath
<x:parse> Analizar dados XML
<x:set> Definir a expressão XPath
<x:if> Julgar a expressão XPath, se verdadeira, executar o conteúdo deste corpo, caso contrário, pular o corpo
<x:forEach> Iterar os nós do documento XML
<x:choose> Rotulo pai de <x:when> e <x:otherwise>
<x:when> Subrotulo de <x:choose>, usado para julgamento condicional
<x:otherwise> Subrotulo de <x:choose>, executado quando <x:when> avaliar como falso
<x:transform> Aplicar a conversão XSL no documento XML
<x:param> Usado conjuntamente com <x:transform>, para definir a tabela de estilo XSL

Funções JSTL

A JSTL contém uma série de funções padrão, a maioria delas são funções de processamento de strings genéricas. A sintaxe para referenciar a biblioteca de funções JSTL é a seguinte:

<%@ taglib prefix="fn" 
           uri="http://java.sun.com/jsp/jstl/functions" %>
Função Descrição
fn:contains() Testar se a string de entrada contém a subcadeia especificada
fn:containsIgnoreCase() Testar se a string de entrada contém a subcadeia especificada, insensível a maiúsculas e minúsculas
fn:endsWith() Testar se a string de entrada termina com o sufixo especificado
fn:escapeXml() Pular caracteres que podem ser marcadores XML
fn:indexOf() Retornar a posição da string especificada na string de entrada
fn:join() Combinar os elementos do array em uma string e exibir
fn:length() Retornar o comprimento da string
fn:replace() Substituir a posição especificada da string de entrada pela string especificada e retornar
fn:split() Dividir a string com o delimitador especificado, formar um array de substrings e retornar
fn:startsWith() Testar se a string de entrada começa com o prefixo especificado
fn:substring() Retornar a subcadeia
fn:substringAfter() Retornar a subcadeia após a subcadeia especificada
fn:substringBefore() Retornar a subcadeia antes da subcadeia especificada
fn:toLowerCase() Converter caracteres da string para minúsculas
fn:toUpperCase() Converter caracteres da string para maiúsculas
fn:trim() Remover espaços em branco no início e no final