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

Libreria di etichette standard JSP (JSTL)

La libreria di etichette standard JSP (JSTL) è una raccolta di etichette JSP che incapsula le funzionalità core di base delle applicazioni JSP.

JSTL supporta compiti comuni e strutturati, come iterazione, giudizi condizionali, operazioni su documenti XML, etichette di internazionalizzazione, etichette SQL. Oltre a questi, fornisce anche una struttura per l'uso di etichette personalizzate integrate con JSTL.

In base alle funzionalità fornite dagli etichette JSTL, possono essere classificate in 5 categorie.

  • Tag di base

  • Etichette di formattazione

  • Etichette SQL

  • Etichetta XML

  • Funzioni JSTL

Installazione della libreria JSTL

Ecco i passaggi per installare la libreria JSTL su Apache Tomcat:

scaricato dal repository di tag standard di Apache (jakarta-taglibs-standard-current.zip).

Scarica jakarta-taglibs-standard-1.1.2.zip Estrai il pacchetto jakarta-taglibs-standard-1.1.2/lib/ nei due file jar nella directorystandard.jar e jstl.jar Copia il file /WEB-INF/lib/

Copia i file tld necessari nel directory WEB-INF.

Di seguito aggiungiamo la seguente configurazione nel file 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>

Per utilizzare qualsiasi libreria, è necessario includere il tag <taglib> nella testa di ogni file JSP.

Tag di base

I tag di base sono i tag JSTL più utilizzati. La sintassi per richiamare la libreria di tag di base è la seguente:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Etichetta Descrizione
<c:out> Utilizzato per visualizzare dati in JSP, come <%= ... >
<c:set> Utilizzato per salvare dati
<c:remove> Utilizzato per eliminare dati
<c:catch> Utilizzato per gestire situazioni di eccezione che generano errori e memorizzare le informazioni di errore
<c:if> Simile all'if che usiamo nei programmi generali
<c:choose> Usato solo come etichetta genitore di <c:when> e <c:otherwise>
<c:when> Sotto-etichetta di <c:choose>, utilizzata per determinare se una condizione è soddisfatta
<c:otherwise> Sotto-etichetta di <c:choose>, eseguita dopo l'etichetta <c:when> quando <c:when> è valutato come false
<c:import> Raccogliere un URL assoluto o relativo, quindi esporre il suo contenuto alla pagina
<c:forEach> Etichetta di iterazione di base, accetta diversi tipi di set di raccolta
<c:forTokens> Dividere il contenuto in base a un separatore specificato e iterare l'output
<c:param> Utilizzato per passare parametri a una pagina inclusa o redirezionata
<c:redirect> Redirezionare a un nuovo URL.
<c:url> Creare un URL utilizzando parametri di ricerca opzionali

Etichette di formattazione

Le etichette di formattazione JSTL sono utilizzate per formattare e visualizzare testi, date, ora, numeri. La sintassi per citare la libreria di etichette di formattazione è la seguente:

<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
Etichetta Descrizione
<fmt:formatNumber> Formattare un numero utilizzando un formato o una precisione specificati
<fmt:parseNumber> Analizzare una stringa che rappresenta un numero, una moneta o una percentuale
<fmt:formatDate> Formattare una data e un'ora utilizzando uno stile o uno schema specificato
<fmt:parseDate> Analizzare una stringa che rappresenta una data o un'ora
<fmt:bundle> Legare le risorse
<fmt:setLocale> Specificare la regione
<fmt:setBundle> Legare le risorse
<fmt:timeZone> Specificare la zona oraria
<fmt:setTimeZone> Specificare la zona oraria
<fmt:message> Mostrare le informazioni della configurazione delle risorse
<fmt:requestEncoding> Impostare la codifica dei caratteri di request

Etichette SQL

La libreria di etichette JSTL SQL fornisce etichette per interagire con database relazionali (Oracle, MySQL, SQL Server e altri). La sintassi per citare la libreria di etichette SQL è la seguente:

<%@ taglib prefix="sql" 
           uri="http://java.sun.com/jsp/jstl/sql" %>
Etichetta Descrizione
<sql:setDataSource> Specificare il sorgente dati
<sql:query> Esegui la frase di ricerca SQL
<sql:update> Esegui la frase di aggiornamento SQL
<sql:param> Imposta il parametro della frase SQL come il valore specificato
<sql:dateParam> Imposta il parametro di data della frase SQL come il valore dell'oggetto java.util.Date specificato
<sql:transaction> Fornisce elementi di comportamento del database incastonati in una connessione di database condivisa, eseguendo tutte le istruzioni come una transazione singola

Etichetta XML

La libreria di tag XML JSTL fornisce etichette per creare e manipolare documenti XML. La sintassi per citare la libreria di tag XML è la seguente:

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

Prima di utilizzare i tag xml, devi copiare i pacchetti relativi a XML e XPath nella cartella <Tomcat Install Directory>\lib:

Etichetta Descrizione
<x:out> Simile a <%= ... >, ma utilizzato solo per espressioni XPath
<x:parse> Analizza i dati XML
<x:set> Imposta l'espressione XPath
<x:if> Judica l'espressione XPath, se è vero, esegue il contenuto del corpo, altrimenti salta il corpo
<x:forEach> Itera i nodi del documento XML
<x:choose> Tag padre di <x:when> e <x:otherwise>
<x:when> Sottotag di <x:choose>, utilizzato per eseguire giudizi condizionali
<x:otherwise> Sottotag di <x:choose>, eseguito quando <x:when> viene valutato come false
<x:transform> Applica la trasformazione XSL su un documento XML
<x:param> Utilizzate insieme a <x:transform>, per impostare la tabella di stili XSL

Funzioni JSTL

JSTL contiene una serie di funzioni standard, la maggior parte delle quali sono funzioni di elaborazione delle stringhe generiche. La sintassi per citare la libreria di funzioni JSTL è la seguente:

<%@ taglib prefix="fn" 
           uri="http://java.sun.com/jsp/jstl/functions" %>
Funzione Descrizione
fn:contains() Testa se la stringa di input contiene una sottostringa specificata
fn:containsIgnoreCase() Testa se la stringa di input contiene una sottostringa specificata, senza distinzione tra maiuscole e minuscole
fn:endsWith() Testa se la stringa di input termina con un suffisso specificato
fn:escapeXml() Salta i caratteri che possono essere etichette XML
fn:indexOf() Restituisci la posizione di una stringa specificata nell'input
fn:join() Unisci gli elementi dell'array in una stringa e stampali
fn:length() Restituisci la lunghezza della stringa
fn:replace() Sostituisci una posizione specificata nella stringa di input con una stringa specificata e restituisci
fn:split() Dividi la stringa con un separatore specificato e restituisci un array di sottostringhe
fn:startsWith() Testa se la stringa di input inizia con un prefisso specificato
fn:substring() Restituisci una porzione di stringa
fn:substringAfter() Restituisci la porzione di stringa dopo una sottostringa specificata
fn:substringBefore() Restituisci la porzione di stringa prima di una sottostringa specificata
fn:toLowerCase() Converti i caratteri della stringa in minuscolo
fn:toUpperCase() Converti i caratteri della stringa in maiuscolo
fn:trim() Rimuovi gli spazi bianchi iniziali e finali