Die JSP Standard Tag Library (JSTL) ist eine Sammlung von JSP-Tags, die die allgemeinen Kernfunktionen von JSP-Anwendungen kapselt.
JSTL unterstützt allgemeine, strukturierte Aufgaben wie Iteration, bedingte Beurteilung, XML-Dokumentoperationen, Internationalisierungs-Tags und SQL-Tags. Darüber hinaus bietet es auch ein Framework zur Verwendung benutzerdefinierter Tags, die in JSTL integriert sind.
Entsprechend den von JSTL-Tags bereitgestellten Funktionen können diese in 5 Kategorien unterteilt werden.
Kern-Tags
Formatierungs-Tags
SQL-Tag
XML-Tag
JSTL-Funktionen
Die Schritte zur Installation der JSTL-Bibliothek auf Apache Tomcat lauten wie folgt:
Das Binärpaket (jakarta-taglibs-standard-current.zip), heruntergeladen aus der Standard-Tag-Bibliothek von Apache. Download-Adresse: http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
Laden Sie das Paket jakarta-taglibs-standard-1.1.1.zip herunter, entpacken Sie es und kopieren Sie die beiden JAR-Dateien unter jakarta-taglibs-standard-1.1.1/lib/: die Dateien standard.jar und jstl.jar nach /WEB- INF /lib/under.
Als nächstes fügen wir die folgende Konfiguration in die Datei web.xml ein:
…
<
jsp
-
config
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/fmt</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
fmt
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/fmt-rt</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
fmt
-
rt
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/core</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
C
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/core-rt</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
C
-
rt
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/sql</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
sql
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/sql-rt</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
sql
-
rt
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/x</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
X
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
<taglib>
<
taglib
-
uri
>
http
:
//java.sun.com/jstl/x-rt</taglib-uri>
<
taglib
-
Standort
>
/WEB-INF/
X
-
rt
.
erzählt
</
taglib
-
Standort
>
</
taglib
>
</
jsp
-
config
>
…
Um eine Bibliothek verwenden zu können, müssen Sie das Tag <taglib> in den Header jeder JSP-Datei einfügen.
Core-Tags sind die am häufigsten verwendeten JSTL-Tags. Die Syntax zum Referenzieren der Kern-Tag-Bibliothek lautet wie folgt:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
| Etikett | beschreiben |
|---|---|
| <c:out> | Wird zum Anzeigen von Daten in JSP verwendet, z. B. <%= ... > |
| <c:set> | Wird zum Speichern von Daten verwendet |
| <c:remove> | zum Löschen von Daten |
| <c:catch> | Wird zur Behandlung von Ausnahmen verwendet, die Fehler verursachen, und zum Speichern von Fehlerinformationen |
| <c:if> | Es ist dasselbe, wie wenn wir es in allgemeinen Programmen verwenden |
| <c:choose> | Es wird nur als übergeordnetes Tag von <c:when> und <c:otherwise> verwendet |
| <c:wann> | Der Untertag von <c:choose> wird verwendet, um zu bestimmen, ob die Bedingung wahr ist. |
| <c:sonst> | Das Unter-Tag von <c:choose> wird nach dem Tag <c:when> verbunden und ausgeführt, wenn das Tag <c:when> als falsch beurteilt wird. |
| <c:import> | Rufen Sie eine absolute oder relative URL ab und stellen Sie deren Inhalt auf der Seite bereit |
| <c:forEach> | Grundlegendes Iterations-Tag, das mehrere Sammlungstypen akzeptiert |
| <c:forTokens> | Trennen Sie Inhalte basierend auf dem angegebenen Trennzeichen und iterieren Sie die Ausgabe |
| <c:param> | Wird verwendet, um Parameter an eingeschlossene oder umgeleitete Seiten zu übergeben |
| <c:redirect> | Weiterleitung zu einer neuen URL. |
| <c:url> | Verwenden Sie optionale Abfrageparameter, um eine URL zu erstellen |
JSTL-Formatierungs-Tags werden zum Formatieren und Ausgeben von Text, Datumsangaben, Uhrzeiten und Zahlen verwendet. Die Syntax zum Verweisen auf die Formatierungs-Tag-Bibliothek lautet wie folgt:
<%@
Taglib-Präfix
=
„fmt“
uri
=
„http://java.sun.com/jsp/jstl/fmt“
%>
| Etikett | beschreiben |
|---|---|
| <fmt:formatNumber> | Formatieren Sie eine Zahl mit dem angegebenen Format oder der angegebenen Genauigkeit |
| <fmt:parseNumber> | Analysieren Sie eine Zeichenfolge, die eine Zahl, eine Währung oder einen Prozentsatz darstellt |
| <fmt:formatDate> | Formatieren Sie Datum und Uhrzeit mit einem bestimmten Stil oder Muster |
| <fmt:parseDate> | Analysieren Sie eine Zeichenfolge, die ein Datum oder eine Uhrzeit darstellt |
| <fmt:bundle> | Ressourcen binden |
| <fmt:setLocale> | Ausgewiesener Bereich |
| <fmt:setBundle> | Ressourcen binden |
| <fmt:timeZone> | Geben Sie die Zeitzone an |
| <fmt:setTimeZone> | Geben Sie die Zeitzone an |
| <fmt:message> | Informationen zum Ressourcenprofil anzeigen |
| <fmt:requestEncoding> | Legen Sie die Zeichenkodierung der Anfrage fest |
Die JSTL-SQL-Tag-Bibliothek stellt Tags für die Interaktion mit relationalen Datenbanken (Oracle, MySQL, SQL Server usw.) bereit. Die Syntax zum Verweisen auf die SQL-Tag-Bibliothek lautet wie folgt:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
| Etikett | beschreiben |
|---|---|
| <sql:setDataSource> | Geben Sie die Datenquelle an |
| <sql:query> | Führen Sie eine SQL-Abfrageanweisung aus |
| <sql:update> | Führen Sie die SQL-Update-Anweisung aus |
| <sql:param> | Setzen Sie die Parameter in der SQL-Anweisung auf den angegebenen Wert |
| <sql:dateParam> | Setzen Sie den Datumsparameter in der SQL-Anweisung auf den angegebenen java.util.Date-Objektwert |
| <sql:transaction> | Stellen Sie verschachtelte Datenbankverhaltenselemente in einer gemeinsam genutzten Datenbankverbindung bereit, um alle Anweisungen als Transaktion auszuführen |
Die JSTL-XML-Tag-Bibliothek stellt Tags zum Erstellen und Bearbeiten von XML-Dokumenten bereit. Die Syntax zum Referenzieren einer XML-Tag-Bibliothek lautet wie folgt:
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
Bevor Sie das XML-Tag verwenden, müssen Sie die XML- und XPath-bezogenen Pakete in Ihr <Tomcat-Installationsverzeichnis>lib kopieren:
XercesImpl.jar:
Download-Adresse: http://www.apache.org/dist/xerces/j/
xalan.jar:
Download-Adresse: http://xml.apache.org/xalan-j/index.html
| Etikett | beschreiben |
|---|---|
| <x:out> | Ähnlich wie <%= ... >, wird jedoch nur in XPath-Ausdrücken verwendet |
| <x:parse> | XML-Daten analysieren |
| <x:set> | Legen Sie den XPath-Ausdruck fest |
| <x:if> | Bestimmen Sie den XPath-Ausdruck. Wenn er wahr ist, führen Sie den Inhalt in der Ontologie aus, andernfalls überspringen Sie die Ontologie. |
| <x:forEach> | Iterieren Sie über Knoten im XML-Dokument |
| <x:choose> | Übergeordnete Tags von <x:when> und <x:otherwise> |
| <x:wann> | Der Untertag von <x:choose> wird für die bedingte Beurteilung verwendet. |
| <x:sonst> | Der Untertag von <x:choose> wird ausgeführt, wenn <x:when> als falsch beurteilt wird. |
| <x:transform> | Wenden Sie XSL-Transformationen auf XML-Dokumente an |
| <x:param> | Wird zusammen mit <x:transform> verwendet, um XSL-Stylesheets festzulegen |
JSTL enthält eine Reihe von Standardfunktionen, von denen die meisten allgemeine Funktionen zur Zeichenfolgenverarbeitung sind. Die Syntax zum Referenzieren der JSTL-Funktionsbibliothek lautet wie folgt:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
| Funktion | beschreiben |
|---|---|
| fn:contains() | Testet, ob die Eingabezeichenfolge die angegebene Teilzeichenfolge enthält |
| fn:containsIgnoreCase() | Testet, ob die Eingabezeichenfolge die angegebene Teilzeichenfolge enthält, ohne Berücksichtigung der Groß- und Kleinschreibung |
| fn:endsWith() | Testet, ob die Eingabezeichenfolge mit dem angegebenen Suffix endet |
| fn:escapeXml() | Überspringen Sie Zeichen, die als XML-Tags verwendet werden können |
| fn:indexOf() | Gibt die Position zurück, an der die angegebene Zeichenfolge in der Eingabezeichenfolge erscheint |
| fn:join() | Kombinieren Sie die Elemente im Array zu einem String und geben Sie ihn aus |
| fn:length() | Gibt die Stringlänge zurück |
| fn:replace() | Ersetzt die angegebene Position in der Eingabezeichenfolge durch die angegebene Zeichenfolge und gibt zurück |
| fn:split() | Trennen Sie die Zeichenfolge durch das angegebene Trennzeichen, bilden Sie dann ein Array aus Teilzeichenfolgen und geben Sie es zurück |
| fn:startsWith() | Testet, ob die Eingabezeichenfolge mit dem angegebenen Präfix beginnt |
| fn:substring() | Gibt eine Teilmenge einer Zeichenfolge zurück |
| fn:substringAfter() | Gibt die Teilmenge der Zeichenfolge nach der angegebenen Teilzeichenfolge zurück |
| fn:substringBefore() | Gibt die Teilmenge der Zeichenfolge vor der angegebenen Teilzeichenfolge zurück |
| fn:toLowerCase() | Konvertieren Sie Zeichen in einer Zeichenfolge in Kleinbuchstaben |
| fn:toUpperCase() | Konvertieren Sie Zeichen in einer Zeichenfolge in Großbuchstaben |
| fn:trim() | Entfernen Sie führende Leerzeichen |