English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
Ecco i passaggi per installare la libreria JSTL su Apache Tomcat:
scaricato dal repository di tag standard di Apache (jakarta-taglibs-standard-current.zip).
Indirizzo di download ufficiale:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/1.1.2.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.
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 |
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 |
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 |
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:
XercesImpl.jar
Indirizzo di download: http://www.apache.org/dist/xerces/j/
xalan.jar
Indirizzo di download: http://xml.apache.org/xalan-j/index.html
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 |
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 |