Es ist praktisch, JSTL zu verwenden, wenn Sie Zeichnungen mit JSP schreiben, das eine lange Geschichte hat. JSTL ist eine Java Server Pages Standard-Tag-Bibliothek.
Wenn Sie "<% xxx%>" verwenden, können Sie das JSP-Format usw. nicht hierarchisch organisieren, sodass die Wartbarkeit schlecht ist. Teilen Sie bei komplexen JSPs die JSP-Datei und verwenden Sie das JSTL-Core-Tag, um das Verständnis von Verzweigung, LOOP usw. zu erleichtern.
EL-Ausdrücke werden mit den Tags $ {~} beschrieben.
Einfaches Berechnungsbeispiel: $ {100 + 200 * 30}, $ {" 1 "äq" 1 "?" True ":" False "}
pageContext, request Beispiel: $ {user.userName}, $ {count}
Sitzungsbeispiel: $ {sessionScope.user.userName}
Beispiel für den Anfangsparameter: $ {initParam [" param1 "]}
Cookie-Beispiel: $ {cookie [" param1 "]. Value}
Header-Beispiel: $ {header ['user-agent']}
Wie schreibe ich häufig verwendete Vergleiche?
1, gleich: $ {a eq b}
2, ungleich: $ {a ne b}
3、Not:${not a}
4、Empty:${empty a}
5、Not Empty:${not empty a}
6, größer als: $ {a gt b}
7, weniger als: $ {a lt b}
8 oder mehr: $ {a ge b}
9, unten: $ {a le b}
Wenn Sie in einen EL-Ausdruck schreiben, müssen Sie ihn festlegen.
String data = "Es ist ein Test.";
<%= data %> // OK
<c:out value=${data} /> //NG. Datenvariable ist Anfrage,Weil es nicht in pageContext etc. gesetzt ist.
String data = "Es ist ein Test.";
pageContext.setAttribute("data", data);
<%= data %> // OK
<c:out value=${data} /> // OK
| Art | Erläuterung |
|---|---|
| core | forJede, if, Variablenreferenz/Grundlegende Tags wie Einstellungen |
| fmt | Zahlen- und Datumsformate usw. |
| xml | XML-Dokumentanalyse, XSL-Stylesheet |
| functions | Allgemeine String-Funktionen (enthält usw.) |
| sql | Funktionen, die SQL ausgeben und die Datenbank betreiben |
Häufig verwendet werden core, function, fmt.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
| Etikett | Erläuterung |
|---|---|
| c:set | Variablen setzen |
| c:remove | Variable löschen |
| c:out | Ausgabe |
| c:if | if-Anweisung (einzelner bedingter Zweig) |
| c:choose, c:when, c:otherwise | if-else,if-elseif-else-Anweisung (mehrere bedingte Verzweigungen) |
| c:forEach | Schleife |
| c:forTokens | Teilen Sie die Zeichenfolge mit einem Trennzeichen |
| c:import | Datei importieren |
| c:redirect | umleiten |
| c:url | URL generieren |
| c:catch | Ausnahmebehandlung |
| c:param | Geben Sie die Parameter an |
<c:set var="score" value="80" />
<c:choose>
<c:when test=${score gt 90}>
<c:out value="sehr beeindruckend." />
</c:when>
<c:when test=${score gt 80}>
<c:out value="Es ist ausgezeichnet." />
</c:when>
<c:otherwise>
<c:out value="Bitte gib dein bestes." />
</c:otherwise>
</c:choose>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
| Etikett | Erläuterung |
|---|---|
| fmt:formatNumber | Formatieren Sie numerische Daten |
| fmt:formatDate | Datumsdaten formatieren |
| fmt:parseNumber | Konvertieren Sie Zeichenfolgen in numerische Daten |
| fmt:parseDate | Zeichenfolge in Datumsdaten konvertieren |
| fmt:bundle, fmt:message | Nachricht für Ressource abrufen |
| fmt:requestEncording> | Stellen Sie die Zeichenkodierung der Anforderung ein |
| fmt:setLocale | Gebietsschema festlegen |
| fmt:setTimeZone | Zeitzone einstellen |
| fmt:timeZone | Zeitzone einstellen |
<fmt:formatDate value="${data.updateDate}" pattern="yyyy/MM/dd HH:mm"/>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
| Etikett | Erläuterung |
|---|---|
| fn:contains() | Enthält es die angegebene Zeichenfolge? |
| fn:containsIgnoreCase() | Enthält es die angegebene Zeichenfolge (ohne Berücksichtigung der Groß- und Kleinschreibung) |
| fn:endsWith() | Ist die letzte Zeichenfolge eine angegebene Zeichenfolge? |
| fn:escapeXml() | Flucht |
| fn:indexOf() | Gibt den Index der angegebenen Zeichenfolge zurück. Wenn es nicht existiert-1 |
| fn:trim() | Leerzeichen vor und nach der Schnur entfernen |
| fn:startsWith() | Ist die ursprüngliche Zeichenfolge eine angegebene Zeichenfolge? |
| fn:split() | Durch angegebene Zeichenfolge teilen |
| fn:toLowerCase() | In Kleinbuchstaben konvertieren |
| fn:toUpperCase() | In Großbuchstaben konvertieren |
| fn:substring() | Extrahieren Sie die Zeichenfolge innerhalb des angegebenen Bereichs |
| fn:substringAfter() | Nach der angegebenen Zeichenfolge extrahieren |
| fn:substringBefore() | Vor der angegebenen Zeichenfolge extrahieren |
| fn:length() | Gibt die Länge der Zeichenfolge zurück |
| fn:replace() | Ersatz |
<c:set var="favs" value="Circer, lesen" />
<c:out value="${fn:contains(favs, 'lesen') ? 'lesenが大好きです。' : 'lesenに興味がありません。' }"></c:out>
sql
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
Details: https://www.javatpoint.com/jstl-sql-tags
xml
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
Details: https://www.javatpoint.com/jstl-xml-tags
das ist alles